INNER JOIN v database exprorer
- jedlicka
- Člen | 70
Dobrý den,
měl bych dotaz ohledně zápisu INNER JOIN v nette. Mám dvě tabulky:
tabulka users
, kde jsou uživatelé (např. username, což je
email) a pak tabulku company
, kde je např. jméno uživatele.
Mám SQL dotaz:
SELECT users.username, company.name FROM company INNER JOIN users ON company.uid=users.id;
, který funguje bez problému.
A nevím, jak tento SQL dotaz zapsat v nette pomocí database explorer, něco jako:
<?php
$users = $database->table('users')->select('company.*')->where('company.uid=users.id')->fetchAll();
?>
Prosím o radu.
Díky moc.
Martin
- Polki
- Člen | 553
database exprorer
takové joiny neumí.
Nejjednodužší cesta je něco takového
$users = $database->table('users')->where('count(:company) > ?', 0)->fetchAll();
Snad je to správně zapsáno nezkoušel jsem
no a to ti vrátí pole uživatelů, kteří mají záznam v company. Pak když potřebuješ pro určitého uživatele vytáhnout jeho company, tak ji získáš pomocí $user->related(‚company‘);
něco tedy jako:
foreach ($users as $user) {
$company = $user->related('company');
}
Editoval Polki (9. 11. 2019 2:43)