Bug v novém Nette/Database join parser?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Ivorius
- Nette Blogger | 119
https://github.com/…29f36a5f9df1#…
Používám Nette/Database discovery reflection.
Uvádím zjednodušený příklad, kde dochází k chybě.
Jak jsem to měl před commitem a fungovalo:
$params = $this->table('product_parameters')
->where('product.category_id = ? OR product.product_category:category_id = ?', $category_id, $category_id);
Úprava po commitu
$params = $this->table('product_parameters')
->where('product.category_id = ? OR product:product_category.category_id = ?', $category_id, $category_id);
mi vyhodí
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'products.id' in 'on clause'
SELECT `product_parameters`.*
FROM `product_parameters`
LEFT JOIN `products` AS `product` ON `product_parameters`.`product_id` = `product`.`id`
INNER JOIN `product_category` ON `products`.`id` = `product_category`.`product_id`
WHERE (`product`.`category_id` = 29 OR `product_category`.`category_id` = 29)
Je to bug, nebo jak mám docílit toho aby se použilo product.id namísto chybného products.id
- hrach
- Člen | 1838
Díky, opraveno. Bylo to tim, ze jsem rabasoval stary kod, kde to jeste
nebylo opraveno, ale ja si myslel, ze uz bylo :( :D
https://github.com/…te/pull/1021