Napojení do jiné tabulky dle id

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jAkErCZ
Člen | 324
+
0
-

Zdravím,
mám 3 tabulky ve window,category a window_category a potřebuji dle id category získat všechny data které jsou v této kategorii.

    public function getProducts($id, $columns = null)
    {
        bdump($id);
        return $this->database->table('window_category')
            ->select($columns ? $columns : '*')
            ->where('window.window_id = ', $id);
    }

getSQL

SELECT * FROM `window_category` LEFT JOIN `window` ON `window_category`.`window_id` = `window`.`window_id` WHERE (`window`.`window_id` = ?)

Kde to ale očekává id produktu který poté vypíše jak má ale potřebuji aby se tam dosadilo id kategorie a dle toho vypsalo všechny produkty v té kategorii.

Díky

CZechBoY
Člen | 3608
+
0
-

No tak si pošli id kategorie a to dej do where, ne?

public function getProductsByCategory($categoryID, $columns = null)
{
    return $this->database->table('window_category')
        ->select($columns ? $columns : '*')
        ->where('window_category.window_category_id = ', $categoryID);
}
jAkErCZ
Člen | 324
+
0
-

CZechBoY napsal(a):

No tak si pošli id kategorie a to dej do where, ne?

public function getProductsByCategory($categoryID, $columns = null)
{
    return $this->database->table('window_category')
        ->select($columns ? $columns : '*')
        ->where('window_category.window_category_id = ', $categoryID);
}

No však to mám ale to mi vypíše jen id produktů které jsou v této kategorii ale já potřebuji aby mi to vypsalo celé ty produkty…

David Matějka
Moderator | 6445
+
+2
-
->table('window')->where(':window_category.category_id', $categoryID)
CZechBoY
Člen | 3608
+
0
-

Jo, toho jsem si nevšiml, že taháš z jiný tabulky…
Stejně doporučuju spíš vyjmenovat ty sloupce v modelový vrstvě než takhle magicky tahat nějaký sloupce na slepo.