[font="Tahoma"][rtl]سلام دوستان
مشکل من اینکه که نمی تونم این مورد رو با یک criteria بنویسم
[/rtl][/font]
//get all content in specific part
$criteria1 = new CDbCriteria;
$criteria1->select = array('t.CONTENTBANCKID');
$criteria1->with = array('parts' => array('select' => ''));
$criteria1->condition = 'parts.DIVID = '.$part;
$parts = $this->findAll($criteria1);
foreach ($parts as $inpart)
$ids[] = $inpart['CONTENTBANCKID'];
$criteria = new CDbCriteria;
$criteria->with = array('author'=>array('select'=>'USERNAME'),
'topic'=>array('select'=>'TITLE'),
'A_comment');
$criteria->condition = 't.STATUS =1';
$criteria->addInCondition('t.CONTENTBANCKID', $ids);
$dataProvider = new CActiveDataProvider($this,
array('criteria' => $criteria,
'pagination' => array(
'pageSize' => 10,
),
));
return $dataProvider;
[font="Tahoma"][rtl]
وقتی کد فوق رو در یک criteria به این صورت می نویسم اول اصلا مثل بالا نمیره سراغ releation part و کلا میگه همچین ستونی وجود نداره (یعنی اصلا تو query وارد نمی کنه قسمت مربوط به part رو)
[/rtl][/font]
$criteria = new CDbCriteria;
$criteria->with = array('author'=>array('select'=>'USERNAME'),
'topic'=>array('select'=>'TITLE'),
'parts' => array('select' => ''),
'A_comment');
$criteria->condition = 't.STATUS =1 AND parts.DIVID = '.$part;
$dataProvider = new CActiveDataProvider($this,
array('criteria' => $criteria,
'pagination' => array(
'pageSize' => 10,
),
));
return $dataProvider;