在yii中添加不在状态中
如何在联接查询条件中写入AddNotin条件在yii中添加不在状态中,yii,Yii,如何在联接查询条件中写入AddNotin条件 public function assigned() { // @todo Please modify the following code to remove attributes that should not be searched. $criteria=new CDbCriteria; $criteria->addCondition("t.tile_i
public function assigned()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$criteria->addCondition("t.tile_id <> (INNER JOIN `tbl_user_tile` AS `pr` ON pr.tile_id = t.tile_id");
$criteria->compare('deleted_by',$this->deleted_by,true);
$criteria->compare('deleted_date',$this->deleted_date,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
public function assigned()
{
//@todo请修改以下代码以删除不应搜索的属性。
$criteria=新的CDB标准;
$criteria->addCondition(“t.tile\u id(在pr.tile\u id=t.tile\u id上将`tbl\u user\u tile`作为`pr`内部联接”);
$criteria->compare('deleted_by',$this->deleted_by,true);
$criteria->compare('deleted_date',$this->deleted_date,true);
返回新的CActiveDataProvider($this,array(
“条件”=>$criteria,
));
}
我想返回不匹配的记录它不工作我的代码中有什么错误?
我想在第二个表记录中获取第一个不匹配的表记录。最后我得到了输出
public function assigned()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$classes = Question::model()->findAll(array(
'join' => 'INNER JOIN `tbl_user_tile` AS `pr` ON pr.tile_id = t.tile_id'));
$classarray = "";
for($i=0;$i<count($classes);$i++)
{
$classarray .= $classes[$i]['tile_id'].",";
}
$classarray = rtrim($classarray,',');
$criteria=new CDbCriteria;
$criteria->addCondition("t.tile_id not in (" . $classarray . ")");
$criteria->compare('deleted_by',$this->deleted_by,true);
$criteria->compare('deleted_date',$this->deleted_date,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
public function assigned()
{
//@todo请修改以下代码以删除不应搜索的属性。
$classes=Question::model()->findAll(数组(
'join'=>'内部连接'tbl_user_tile'作为'pr'在pr.tile上的'pr'\u id=t.tile\u id');
$classarray=“”;
对于($i=0;$iaddCondition(“t.tile\u id不在(“.$classarray.”)中”);
$criteria->compare('deleted_by',$this->deleted_by,true);
$criteria->compare('deleted_date',$this->deleted_date,true);
返回新的CActiveDataProvider($this,array(
“条件”=>$criteria,
));
}
最后我得到了输出
public function assigned()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$classes = Question::model()->findAll(array(
'join' => 'INNER JOIN `tbl_user_tile` AS `pr` ON pr.tile_id = t.tile_id'));
$classarray = "";
for($i=0;$i<count($classes);$i++)
{
$classarray .= $classes[$i]['tile_id'].",";
}
$classarray = rtrim($classarray,',');
$criteria=new CDbCriteria;
$criteria->addCondition("t.tile_id not in (" . $classarray . ")");
$criteria->compare('deleted_by',$this->deleted_by,true);
$criteria->compare('deleted_date',$this->deleted_date,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
public function assigned()
{
//@todo请修改以下代码以删除不应搜索的属性。
$classes=Question::model()->findAll(数组(
'join'=>'内部连接'tbl_user_tile'作为'pr'在pr.tile上的'pr'\u id=t.tile\u id');
$classarray=“”;
对于($i=0;$iaddCondition(“t.tile\u id不在(“.$classarray.”)中”);
$criteria->compare('deleted_by',$this->deleted_by,true);
$criteria->compare('deleted_date',$this->deleted_date,true);
返回新的CActiveDataProvider($this,array(
“条件”=>$criteria,
));
}
您可以按如下方式更改查询:
public function assigned()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria = new CDbCriteria;
$criteria->join = "LEFT JOIN `tbl_user_tile` AS `pr` ON pr.tile_id = t.tile_id";
$criteria->condition = "pr.tile_id IS NULL";
$criteria->compare('deleted_by',$this->deleted_by,true);
$criteria->compare('deleted_date',$this->deleted_date,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
希望这有帮助。如果有任何问题,请告诉我。您可以按以下方式更改查询:
public function assigned()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria = new CDbCriteria;
$criteria->join = "LEFT JOIN `tbl_user_tile` AS `pr` ON pr.tile_id = t.tile_id";
$criteria->condition = "pr.tile_id IS NULL";
$criteria->compare('deleted_by',$this->deleted_by,true);
$criteria->compare('deleted_date',$this->deleted_date,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
希望这有帮助。如果有任何问题,请告诉我