Так что я хочу делать с yii - это небольшой комплекс.
База данных
У меня есть город, city_has_product и таблица продуктов. Таким образом, город MANY_TO_MANY с продуктами через city_has_product. И city_has_product имеет столбец с именем amount.Yii: Получить значение из столбца соединительной таблицы MANY_TO_MANY в другой таблице на уровне модели
Для зная FK и PK имена, здесь таблицы с FK и первичные ключи:
город
ID
city_has_product
CITY_ID
PRODUCT_ID
продукт
идентификатор
То, что я хочу, как модель
Я хочу, что я могу сделать это: $> Продукция города-[0] -> сумма
Таким образом, значение суммы происходит от city_has_product к продукту (в уровневая модель)
до сих пор я
Город имеет это отношения:
return array(
'city_has_product'=> array(self::HAS_MANY, 'CityHasProduct', 'city_id'),
'products'=> array(self::HAS_MANY, 'Product', array('product_id'=>'id'), 'through' => 'city_has_product'),
);
CityHasProdu КТС имеет никакого отношения Продукт не имеет отношения это:
return array(
'city_has_product'=> array(self::HAS_MANY, 'CityHasProduct', 'product_id'),
'city'=> array(self::HAS_ONE, 'City', array('city_id'=>'id'), 'through' => 'city_has_product'),
'hasAmount' => array(self::STAT, 'CityHasProduct', 'product_id', 'select'=>'amount'),
);
Проблема с моим решением
hasAmount игнорирует город. Я попробовал это с условием 'condition' = 'city_id = city.id', но это не сработало. Я не знаю, как я могу получить доступ к city.id от Product, потому что у меня нет прямого отношения к городу, потому что на уровне продукта и городе уровень MANY_TO_MANY.
Вопросы
1. Возможно ли это как отношение к yii?
2. Как я могу получить city.id от продукта?
3. Я нахожусь на правильном пути? Если не так, как добраться до этой модели, я хочу?
Спасибо за все ваши ответы :)
согласен ли я с некоторыми пунктами в вашем аргументе, но то, что вы показали, является обратным. Поскольку ваш код не тестировался, я игнорирую вашу опечатку, но все равно было ошибкой. Вы даже не можете передать условие через findByAttributes, как это, кстати, как вы могли позволить $ product-> city_has_products получить доступ к свойству суммы, поскольку он по сути был массивом? –
Я получил это с веб-сайта Yii здесь: http://www.yiiframework.com/forum/index.php/topic/21178-findbyattributes-example/ – jmarkmurphy