Изменение состояния отношений в Yii
У меня небольшая проблема, и мне нужна твоя помощь. Я хотел бы объединить две таблицы, но были бы другие условия для объединения, а не только внешний ключ. Я попытался установить параметр условия, но он создает WHERE в моем запросе, и это приведет к тому, что моя основная таблица будет отфильтрована, а не объединенная.
'dokumentumok' => array(self::HAS_MANY, 'Fileuploader', 'foreign_id', 'joinType' => 'LEFT JOIN', 'condition' => "(dokumentumok.fileuploader_type='nyomtatvany') AND dokumentumok.fileuploader_deleted = 0"),
Это было бы условием ->
'condition' => "(dokumentumok.fileuploader_type='nyomtatvany') AND dokumentumok.fileuploader_deleted = 0
2 ответа
Замещать condition
с on
:
'dokumentumok' => array(self::HAS_MANY, 'Fileuploader', 'foreign_id',
'joinType' => 'LEFT JOIN',
'on' => "(dokumentumok.fileuploader_type='nyomtatvany')
AND dokumentumok.fileuploader_deleted = 0"
)
Смотрите также: http://www.yiiframework.com/forum/index.php/topic/10185-using-relations-and-conditions/
Или например.
В связи
'dokumentumok' => array(self::HAS_MANY, 'Fileuploader', 'foreign_id');
И получить модель
YouModelName::model()->with(array('dokumentumok' => array('on' => "(dokumentumok.fileuploader_type='nyomtatvany') AND dokumentumok.fileuploader_deleted = 0")))->findAll();