Изменение состояния отношений в 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();

Другие вопросы по тегам