使用yii,2个表的内部联接不起作用

时间:2014-04-12 06:52:41

标签: php yii

我想在Yii中使用join进行查询。查询就像那样"从job_application中选择j.title,j.company_name a.job_id = j.id"

中的内连接作业j

我在controller-sitecontroller中的查询

         public function actionmyjob()
         {
         $row = Yii::app()->db->createCommand()
        ->select('j.title,j.company_name')
        ->from('job_application a')
        ->join('jobs j','a.job_id = j.id')
        ->queryRow();
    echo $count=count($row);
       $this->render('myjob',array('row' =>$row));
      }

我的观点页面myjob.php

 <?php
 foreach($row as $rows)  
 {
 echo $row->title."</br>";
 }

 ?>

你能帮忙吗?非常感谢任何想法。

1 个答案:

答案 0 :(得分:1)

我认为您的查询没有问题。但是仍然应该使用CVarDumper::dump($row,10,true);

进行检查

在您的视图文件中,您应该使用此

<?php
 foreach($row as $rows)  
 {
 echo $rows."</br>"; // If you want to use only title then try $row['title']
 }
 ?>

<小时/> 如果您对所有结果感兴趣 ,那么您应该使用 queryAll()

将此操作更改为

public function actionmyjob()
         {
         $row = Yii::app()->db->createCommand()
        ->select('j.title,j.company_name')
        ->from('job_application a')
        ->join('jobs j','a.job_id = j.id')
        ->queryAll();
    echo $count=count($row);
       $this->render('myjob',array('row' =>$row));
      }

您的观点

<?php
 foreach($row as $rows)  
 {
 echo $rows['title']."</br>"; // change $row to $rows
 }

 ?>