0

Yii Framework で私の問題を解決しようとしています。$_POST を返すビューがあります:

Array ( [Questions] => Array ( [countries] => Array ( [0] => 1 ) [categories] => 1 ) [yt0] => Search )

カテゴリなどの情報は単一の ID で、国は配列です。

さて、私の質問は、どのように Yii モデル クエリ ビルダを適切に使用して、配列から多くの国のステートメントを含めることができるかということです。何かのようなもの:

"SELECT questions.name from questions WHERE countries.id == $_Post['Questions']['countries'][ 0 ] AND countries.id == $_Post['Questions']['countries'][ 1 ] AND .... + n times for countries" 

$_POST['Questions']['countries'] が 1 つの ID のみを返す場合、次を使用しました。

  $model = Questions::model()->with( 

                array(  'countries' => array (
                          'select' => 'name',
                          'condition' => 'countries.id=:cou_id', // How to do for array?
                          'params' => array (':cou_id' => $_POST["Questions"]["countries"]) // How to do for array ? 
                        ) 
                )

        )->findAll(array ('select' => 'question')); 

複数の国をどうするか?Yii:model クエリ ビルダで foreach ループを含めるには?! 助けてください。

4

2 に答える 2

0

次のコードが機能します。

$criteria = new CDbCriteria(); 
$criteria->with = array('countries');
$criteria->addInCondition('countries.id' , $_POST['Questions']['countries']);
$model = Questions::model()->findAll($criteria);
于 2013-09-14T17:14:36.693 に答える