2016-10-17 3 views
0

私はYiiフレームワークの初心者です。Yii1コードをYii2に変換しようとしています。Yii1コードをYii2に変換する

$criOrder = new CDbCriteria();    
$criOrder->order = 'CRI_PresentationOrder'; 
$criModels = Criteria::model()->findAll($criOrder); 

私が生産しているYii2声明:

私は、例えば、以下のYii1コードのためになるよう、Yii2にはCDbCriteriaクラスが存在しないことを知っている

​​

しかし、私はいくつかを持っていますこれを変換する正しい方法を見つけようとすると次のような問題が発生します。

$crvCriteria = new CDbCriteria(); 
$crvCriteria->with = array('aCRCRV', 'aCRCRV.cRVCRI'); 
$crvCriteria->together = true; 
$crvCriteria->condition = 'ACR_APP_Id = :appId'; 
$crvCriteria->params = array(':appId'=>$id); 
$crvCriteria->order = 'cRVCRI.CRI_PresentationOrder'; 
$crvModels = ApplicantCriteriaValue::model()->findAll($crvCriteria); 

特にg 'with'、 'together'、 'params'の各属性が含まれます。

どのようなアイデアや提案も高く評価されます。

+0

は...あなたのコード変換に基づく – scaisEdge

+0

を平らなクエリを表示してくださいする必要があります* INNER JOINを** CriteriaValue ** ON ** ACV_CRV_Id = CRV_Id ** INNER **基準を登録しよう** ON ** CRV_CRI_Id = CRI_Id ** WHERE ** ACV_APP_Id =:AppIDの ** CRI_PresentationOrder – YorKal

答えて

0

**選択** * ** FROM ** ApplicantCriteriaValue *あなたのApplicantCriteriaValueテーブルがApplicantCriteriaValueという名前のモデルを持っていると仮定すると、その後

$criModels = ApplicantCriteriaValue::find() 
    ->join('INNER JOIN', 'tbl_criteria_value', 
      'tbl_criteria_value.ACV_CRV_Id =ApplicantCriteriaValue.CRV_Id') 
    ->join('INNER JOIN', 'tbl_criteria', 
      'tbl_criteria.CRV_CRI_Id =ApplicantCriteriaValue.CRV_Id')  
    ->orderBy('CRI_PresentationOrder')->all(); 
+0

感謝BY ORDER君は! Yii1 'together'属性はどうですか? yii2の – YorKal

+0

あなたは一緒に必要はありません。結局、あなたはこれに関する評価をするべきです。http://www.yiiframework.com/doc-2.0/guide-db-active-record.htmlとhttp://www.yiiframework .com/doc-2.0/guide-db-active-record.html#relational-data – scaisEdge

関連する問題