2014-02-03 3 views
0

Почему мои объекты не работают?не работает в Yii

$criteria = new \CDbCriteria();     
     $criteria->addCondition('user_id = :user_id'); 
     $criteria->scopes = array(
      'applicant' => array(
       'scopes' => array('deletedStatus'), 
       'params' => array(':deletedStatus' => 0) 
      ), 
      'filePair' => array(
       'with' => array(
        'category' => array(
         'with' => array(
          'parent' => array(
           'order' => 'parent.order' 
          ) 
         ), 
         'scopes' => array('enabled') 
        ), 
        'file' => array(
         'scopes' => array('enabled'), 
         'order' => 'file.order' 
        ) 
       ) 
      ) 
     ); 
     $criteria->params = array(':user_id' => \Yii::app()->userApp->id); 
     /** @var \ApplicantDocument[] $models */ 
     $models = \ApplicantDocument::model()->findAll($criteria); 

public function scopes() 
    { 
     $t = $this->getTableAlias(false, false); 
     return array(
      'deletedStatus' => array(
       'condition' => $t.'.is_deleted = :deletedStatus' 
      ), 
      'applicant' => array(
       'condition' => $t.'.role = :role', 
       'params' => array(':role' => self::APPLICATION_STATUS_APPLICANT) 
      ), 
      'guarant' => array(
       'condition' => $t.'.role = :role', 
       'params' => array(':role' => self::APPLICATION_STATUS_GUARANTOR) 
      ), 
      'company' => array(
       'condition' => $t.'.role = :role', 
       'params' => array(':role' => self::APPLICATION_STATUS_COMPANY) 
      ), 
      'trust' => array(
       'condition' => $t.'.role = :role', 
       'params' => array(':role' => self::APPLICATION_STATUS_TRUST) 
      ), 
     ); 
    } 

Эта область не работает, aplicants с is_deleted выбран из БД

'applicant' => array(
    'scopes' => array('deletedStatus'), 
    'params' => array(':deletedStatus' => 0) 
), 

Спасибо за помощь!

ответ

0

Области не работают, потому что они требуют в Заявителе Документ, а не заявителя. Поэтому я пытаюсь найти решение, и это помогает мне.

$criteria->with = array('applicant'); 
$criteria->together = true; 
$criteria->condition = "applicant.is_deleted = 0";