Propojení tabulek 1:N pro NiftyGrid
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Draffix
- Člen | 146
Zdravím, začínám být už zoufalý a proto se obracím zde. Potřebuji propojit dvě tabulky a vypsat je, ale za ani za nic se mi to nedaří.
Mám dvě tabulky:
CREATE TABLE IF NOT EXISTS `product` (
`prod_id` int(11) NOT NULL AUTO_INCREMENT,
`prod_name` varchar(45) NOT NULL,
`prod_producer` varchar(45) DEFAULT NULL,
`prod_price` int(11) NOT NULL,
`prod_code` varchar(11) DEFAULT NULL,
`prod_describe` varchar(255) DEFAULT NULL,
`prod_long_describe` text,
`prod_isnew` tinyint(1) NOT NULL DEFAULT '0',
`prod_on_stock` int(11) NOT NULL DEFAULT '0',
`prod_is_active` tinyint(1) NOT NULL DEFAULT '1',
`total_votes` int(11) NOT NULL DEFAULT '0',
`total_value` int(11) NOT NULL DEFAULT '0',
`used_ips` longtext,
PRIMARY KEY (`prod_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
CREATE TABLE IF NOT EXISTS `image` (
`image_id` int(11) NOT NULL AUTO_INCREMENT,
`product_prod_id` int(11) NOT NULL,
`image_name` varchar(255) NOT NULL,
`image_is_main` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`image_id`,`product_prod_id`),
KEY `fk_image_product` (`product_prod_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=39 ;
A omezení mezi nimi:
ALTER TABLE `product`
ADD CONSTRAINT `product_ibfk_1` FOREIGN KEY (`prod_id`) REFERENCES `image` (`product_prod_id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `image`
ADD CONSTRAINT `image_ibfk_1` FOREIGN KEY (`product_prod_id`) REFERENCES `product` (`prod_id`) ON DELETE CASCADE ON UPDATE CASCADE;
Když využívám tento sql kód jako výpis v šabloně, tak mi to jede v pohodě:
return $this->connection->table($this->image)
->where('image.image_is_main = 1')
->group('image.product_prod_id')
Když ale do NiftyGridu jako source hodím tento kód:
return $this->connection->table($this->image)
->select('image_id');
Tak mi to vyhodí chybu
No reference found for $image->.
Nevíte někdo v čem dělám chybu? Potřeboval bych v tabulce vypsat jak název produktu tak i název obrázku. Zkoušel jsem i vytvořit pohled, ale vyhodilo mi to opět podobnou chybu
No reference found for $vwproduct->.