2

私は関係を持つ2つのモデルを持っています:

class Model1 extends CActiveRecord
public function relations()
{
  return array(
    'relation' => array(self::HAS_MANY, 'Model2', 'id_model1'),
  )
}

Model2 とは関係のないModel 1 のレコードを CListView で表示したい。明らかに、次のようなものを使用できます

$criteria->condition = 'id NOT IN (SELECT DISTINCT id_model1 FROM model2_tbl)'

次に、この $criteria を ActiveDataProvider に送信します。しかし、解決策として、よりスマートで「yii-way」なものを探しています。存在しますか?

4

1 に答える 1

3

リレーショナル クエリ オプション 'joinType' = 'RIGHT OUTER'で、'condition'=>'left_table.join_field IS NULL'うまくいくかもしれません。

于 2013-01-25T10:45:23.403 に答える