Tečkovaná syntaxe v dotazu do databáze $table->order(…) nefunguje
- m.brecher
- Generous Backer | 871
Dobrý den, Mám v databázi mySQL tři tabulky v hierarchické pozici pomocí cizích klíčů, ve všech tabulkách mám pole pro setřídění sort.
section
category: category.section_id = section.id
article: article.category_id = category.id
Zkoušel jsem setřídit výpis v tabulce article podle hodnot sloupců sort v tabulkách takto:
$table = $database->table('article');
$table->order('category.sort, sort'); // funguje
$table->order('section.category.sort, category.sort, sort'); // nefunguje
Ve druhém případě se vyhodí výjimka Nette\InvalidArgumentException a zpráva „No reference found for $article->section“.
Funguje v Nette Database třídění podle hodnoty sloupce v nadřazené tabulce o dvě úrovně výš? Nebo to takhle jednoduše tečkovanou konvencí nejde a měl bych to rozložit do více dotazů ?