Získání uživatele podle ID DIBI
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- shifi
- Člen | 6
Ahoj,
potřebuji podle id uživatele získat jméno uživatele z druhé tabulky. Používám dibi a netusím jak to udělat.
public function renderM03($family, $segment, $status) {
$result = \dibi::select('*')->from('as_items');
if (isset($family)) {
$result->where("category = $family");
}
if (isset($segment)) {
$result->where("segment = $segment");
}
if ($status == 1) {
$result->where("status = 1");
}
$this->template->items = $result;
}
V latte takto:
{foreach $items as $item}
<tr class="COL_NORMAL_3">
<td>{$item->id}</td>
<td>{$item->name}</td>
<td>{$item->category->buyer}</td>>
</tr>
{/foreach}
V druhé tabulce v sloupci buyer již mám text jen nevím jak ho propsat sem :)
Děkuji.
- Felix
- Nette Core | 1247
V tomhle by ti mohl pomoci jeden z balicku z Nette a to nette/database.
Mrkni do dokumentace, primo tvuj priklad je vcelku ukazkovy. Pred cizi klic v jedne tabulce, se dostanes k datum v druhe tabulce.
- David Matějka
- Moderator | 6445
@shifi jak sam pises, dibi to neumoznuje. musis bud pouzit joiny nebo nejaky dalsi dotaz.
- kalatalabnik
- Člen | 35
Čau, co takto?
\dibi::select('i.*')
->select('c.name')->as('customer_name')
->from('as_items')->as('i')
->join('as_customers')->as('c')
->on('i.customer = c.id');
A ve výpise pak:
{foreach $items as $item}
...
<td>{$item->customer_name}</td>
...
{/foreach}
Ještě si teda budeš muset doopravit ty WHERE podmínky.