NDB where like v dvoch tabulkach
- duskohu
- Člen | 778
Caute viete mi poradit? chcem urobit nieco taketo:
$this->productRepository->findAll()
->where("name LIKE ? OR productitem.code LIKE ?", "%" . $filter . "%","%" . $filter . "%");
hladam v tabulke product.name, alebo productitem.code a v tabulke productitem mam kluc na tabulku product product_id, ale toto mi vracia:
No reference found for $product->productitem
- saimons
- Člen | 293
matej21 napsal(a):
//v 2.0.x "productitem:code" //nebo v dev verzi ":productitem.code"
V nove verzi stara syntaxe nefunguje? Nevim teda duvod teto zmeny, ale je to pro me nepochopitelne. Pokud clovek chce udrzovat naky velky projekt na aktualni verzi, tak nette to teda moc neusnadnuje.
- David Matějka
- Moderator | 6445
ne, nefunguje. duvod zmeny byl asi jen, ze tento zpusob zapisu je takovy… logictejsi.
ale muzes zkusit zatlacit na hracha, aby tam udelal zpetnou kompatibilitu :)
- hrach
- Člen | 1838
V nove verzi stara syntaxe nefunguje? Nevim teda duvod teto zmeny, ale je to pro me nepochopitelne. Pokud clovek chce udrzovat naky velky projekt na aktualni verzi, tak nette to teda moc neusnadnuje.
- duvod zmeny: jasna logicka struktura, kdy dvojtecka mela znacit vazbu hasMany. Coz je ale nelogicke, odkdy ma tabulak productitem několik sloupcu code?
- duvod proc je to bez zpetne kompatibility: protoze to nejde udelat. Napr. zapis
// novy zapis
author.book:book_tag.tag.name
// stary zapis
author.book.book_tag:tag.name
tezko podle neceho detektovat, zda clovek pouziva stary nebo novy zapis.