Tečkovaná syntaxe v dotazu do databáze $table->order(…) nefunguje

m.brecher
Generous Backer | 740
+
0
-

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ů ?

Kamil Valenta
Člen | 758
+
+2
-

category.section.sort ?

m.brecher
Generous Backer | 740
+
0
-

Kamil Valenta napsal(a):

category.section.sort ?

Ano, funguje, byl jsem včera v noci nějaký unavený, dík