このようなSQLクエリがあります
SELECT *
FROM nu.tb_class t
WHERE NOT EXISTS (SELECT st_id FROM student_class s WHERE s.st_id = t.id)
私はそれを置くためにこれが必要ですCdbcriteriaはこれを行う方法を教えてもらえますか?
(他の方法で知りたい場合は、どういうわけかこのデータを CGridView に入れる必要があります)
このようなSQLクエリがあります
SELECT *
FROM nu.tb_class t
WHERE NOT EXISTS (SELECT st_id FROM student_class s WHERE s.st_id = t.id)
私はそれを置くためにこれが必要ですCdbcriteriaはこれを行う方法を教えてもらえますか?
(他の方法で知りたい場合は、どういうわけかこのデータを CGridView に入れる必要があります)
基準で NotInCondition を使用できます
http://www.yiiframework.com/doc/api/1.1/CDbCriteria#addNotInCondition-detail
注: 配列が必要です。つまり、st_id 列のみを選択し、それを addNotInCondition 関数に渡す必要があります。これを行う簡単な方法は、次のようなものです。
$st_ids = CHtml::listData(StudentClass::model()->findAll($criteria)), 'column1', 'column2');
SQL クエリとして実行できることを確認してから、CArrayDataProvider
http://www.yiiframework.com/doc/guide/1.1/en/database.dao#executing-sql-statements
http://www.yiiframework を使用します。 com/doc/api/1.1/CArrayDataProvider