2017-08-31 42 views
0

我試圖執行這個查詢使用yii2模型製作像查詢SQL

  $command = $connection->createCommand(" 
        SELECT 
        tbl_checklist.report_val AS item 
        FROM tbl_checks 
         LEFT JOIN tbl_checklist ON tbl_checklist.id = tbl_checks.check_id 
         WHERE truck_id = ".$value->id." 
         " 
       ); 

     $results = $command->queryAll(); 

上述作品,但我想執行使用模型

這就是我一直

$results = TblChecks::find() 
      ->leftJoin("tbl_checklist", "tbl_checklist.id = tbl_checks.check_id") 
      ->where(["truck_id"=>$value->id]) 
      ->all(); 
相同

如何在模型流程中添加SELECT tbl_checklist.report_val AS item

+0

要麼使用'activeQuery'或嘗試@Yupik建議 –

回答

-1

您應該使用select()功能:

$results = TblChecks::find() 
      ->select('tbl_checklist.report_val AS item') 
      ->leftJoin("tbl_checklist", "tbl_checklist.id = tbl_checks.check_id") 
      ->where(["truck_id"=>$value->id]) 
      ->all(); 

而且在模型中添加屬性$item

0

你應該嘗試這樣

$results = TblChecks::find()->select(["tbl_checklist.report_val AS item","tbl_checks.*"]) 
      ->leftJoin("tbl_checklist", "tbl_checklist.id = tbl_checks.check_id") 
      ->where(["truck_id"=>$value->id]) 
      ->all(); 
0

嘗試這種方式,我希望這將解決您的問題。

$results = TblChecks::find() 
     ->select[tbl_checklist.report_val AS item] 
     ->leftJoin("tbl_checklist", "tbl_checklist.id = tbl_checks.check_id") 
     ->where(["truck_id"=>$value->id]) 
     ->all();