Přechod z PHP 7.0 na 7.3 Nette/Object SmartObject a nefunkční dotazy
- Danny
- Člen | 146
Zdravím,
mám verzi Nette 2.4 a přešli jsme z PHP 7.0 na 7.3 a přestala fungovat
App. Nejdřív hlásila
Cannot use Nette\Object as Object because 'Object' is a special class name
Tak jsem odmazal Nette\Object v datové vrstvě resp v (DAO) a nahradil to
use SmartObject;
Pak se app rozběhla. Nicméně přestala mi fungovat většina dotazů kde se dělá dotaz na HasMany viz například tento:
$tags = $this->productTagDao->getAll()->where('product_id', $product->id)->select('*, COUNT(tag.id) AS pocet')->group('tag.type')->order('pocet DESC')->fetchAll();
Kde je vazba 1:N produkt:tag
Píše to
Column not found: 1054 Unknown column 'tag.id' in 'field list'
Dotaz vypadá takto
SELECT *, COUNT(`tag`.`id`) AS `pocet`
FROM `product_tag`
WHERE (`product_id` = 111308)
GROUP BY `tag`.`type`
ORDER BY `pocet` DESC
I když přidám do selectu vyloženě tag.* tak to napíše že tabulka tag neexistuje. Přitom existuje a klíče jsou správně.
Prostě to není schopné vytvořit JOIN.
Nějaký nápad? Děkuji moc!
- David Matějka
- Moderator | 6445
zkus aktualizovat nette database, asi bude souviset s chybou regularu