Temat: Problem z relacjami
witam,
mam trzy tabele:
products
symbols
ingredients
chcialbym wszystkie 3 tabele polaczyc za pomoca products_id i wybierac dane za pomoca symbolu z tabeli symbols.
Produkt ma wiele symboli i wiele skladnikow (ingredients).
symbole i skladniki naleza do produktu.
tak wyglada model symobl
var $belongsTo = array(
'Product' => array(
'className' => 'Product',
'foreignKey' => 'id'
),
'Ingredient' => array(
'className' => 'Ingredient',
'foreignKey' => 'products_id'
)
);Problem tego typu ze wybierajac http://localhost/symbols/views/ss-540 wybiera mi dane z bazy ze zlymi parametrami.
SELECT `Symbol`.`id`, `Symbol`.`products_id`, `Symbol`.`symbol`, `Product`.`id`, `Product`.`name`, `Product`.`dosage`, `Product`.`other_ingredients`, `Product`.`serving_size`, `Product`.`type`, `Product`.`date`, `Ingredient`.`id`, `Ingredient`.`product_id`, `Ingredient`.`name`, `Ingredient`.`quantity`, `Ingredient`.`rdz`, `Ingredient`.`order`, `Ingredient`.`proprietary_blend` FROM `sklady_symbols` AS `Symbol` LEFT JOIN `sklady_products` AS `Product` ON (`Symbol`.`id` = `Product`.`id`) LEFT JOIN `sklady_ingredients` AS `Ingredient` ON (`Symbol`.`products_id` = `Ingredient`.`id`) WHERE `Symbol`.`symbol` = 'PV-0139' LIMIT 1Oczywiscie polaczenia sa zle, poniewaz `Symbol`.`id` = `Product`.`id`, a powinno byc `Symbol`.`products_id` = `Product`.`id` oraz zamiast `Symbol`.`products_id` = `Ingredient`.`products_id`.
byc moze powinien wybierac przez controller product ale nie umiem sie odwolac w tym cotrolerze do symbolu w innej tabeli.