Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Yii框架中将$\u POST中包含的数组转换为MySql查询_Php_Mysql_Arrays_Yii - Fatal编程技术网

Php 在Yii框架中将$\u POST中包含的数组转换为MySql查询

Php 在Yii框架中将$\u POST中包含的数组转换为MySql查询,php,mysql,arrays,yii,Php,Mysql,Arrays,Yii,我试图用Yii框架解决我的问题。我有一个返回$\u帖子的视图: Array ( [Questions] => Array ( [countries] => Array ( [0] => 1 ) [categories] => 1 ) [yt0] => Search ) 类别等信息是单个id,其中国家是一个数组 现在,我的问题是,tu如何正确使用Yii模型查询生成器,以便从一个数组中包含多个国家/地区的语句。 某物 比如: 当$_POST['Questions'][

我试图用Yii框架解决我的问题。我有一个返回$\u帖子的视图:

Array ( [Questions] => Array ( [countries] => Array ( [0] => 1 ) [categories] => 1 ) [yt0] => Search )
类别等信息是单个id,其中国家是一个数组

现在,我的问题是,tu如何正确使用Yii模型查询生成器,以便从一个数组中包含多个国家/地区的语句。 某物 比如:

当$_POST['Questions']['countries']只返回一个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循环?!请帮忙

最终,条件的
条件
属性需要包含一个使用MySql函数的片段,例如(x,y,z,…)中的
countries.id
。您可以手动执行此操作,但Yii提供了方便的方法来帮助:


以下代码起作用:

$criteria = new CDbCriteria(); 
$criteria->with = array('countries');
$criteria->addInCondition('countries.id' , $_POST['Questions']['countries']);
$model = Questions::model()->findAll($criteria);

嘿,你很接近,但不准确。我已经解决了我的问题,试图把你说的话和网上的一些信息结合起来。
$countryCriteria = new CDbCriteria();
$countryCriteria->select = 'name';
$countryCriteria->addInCondition('id', $_POST["Questions"]["countries"]);

$model = Questions::model()->with(array('countries' => $countryCriteria))
                           ->findAll(array('select' => 'question')); 
$criteria = new CDbCriteria(); 
$criteria->with = array('countries');
$criteria->addInCondition('countries.id' , $_POST['Questions']['countries']);
$model = Questions::model()->findAll($criteria);