1

このような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 に入れる必要があります)

4

2 に答える 2

2

基準で 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

于 2013-09-14T09:40:52.067 に答える