Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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中的子查询_Php_Mysql_Yii - Fatal编程技术网

Php yii中的子查询

Php yii中的子查询,php,mysql,yii,Php,Mysql,Yii,我正在尝试为子查询编码 select * from mob_reg where name in (select name from auth where parent ="naga"); 我遵循了所有这些答案 [子记录Yii [如何为CActiveDataProvider的条件设置多个条件 但是我得到了foreach()的无效参数 $model=new MobReg('search'); $model->unsetAttributes(); $criteria=新的CDbCriteria(阵列

我正在尝试为子查询编码

select * from mob_reg where name in (select name from auth where
parent ="naga");
我遵循了所有这些答案

[子记录Yii [如何为CActiveDataProvider的条件设置多个条件

但是我得到了foreach()的无效参数

$model=new MobReg('search');
$model->unsetAttributes();
$criteria=新的CDbCriteria(阵列)(
'选择'=>'t.imei,t.emp_name,t.email,t.name',
'join'=>'内部连接身份验证ON(t.name=auth.name和auth.parent=:parent)',
“组”=>“t.id”,
'params'=>array(':parent'=>naga')
)); 
$dataProvider=新的CActiveDataProvider('MobReg',数组(
“条件”=>$criteria,
));
我要换什么?知道吗?我哪里出了问题


我想我面临的问题是在引用两个不同的表时,一个在子查询中,另一个在主查询中。如何处理这一个呢?

关于以下内容:

$criteria = new CDbCriteria(array(
    'select' => 't.imei, t.emp_name, t.email, t.name',
    'join' => 'INNER JOIN auth ON (t.name = auth.name AND auth.parent = :parent)',
    'group' => 't.id',
    'params' => array(':parent' => 'naga')
));

$dataProvider = new CActiveDataProvider('MobReg', array(
       'criteria' => $criteria,
));

这对您有用吗?

您考虑过联接吗?正确使用索引应该会更快。CDbCommand无法执行SQL语句:SQLSTATE[42S22]:找不到列:1054“on子句”中的未知列“mob_reg.name”。虽然我在mob_reg表中有name列,但可能是因为该表有别名。我已更新了代码,请重试。
$criteria = new CDbCriteria(array(
    'select' => 't.imei, t.emp_name, t.email, t.name',
    'join' => 'INNER JOIN auth ON (t.name = auth.name AND auth.parent = :parent)',
    'group' => 't.id',
    'params' => array(':parent' => 'naga')
));

$dataProvider = new CActiveDataProvider('MobReg', array(
       'criteria' => $criteria,
));