如何在cdbcriteria中编写此连接查询?

时间:2015-12-25 21:46:19

标签: php mysql sql database yii

我已经被困了三个小时而我找不到解决方案,我只想在我的下拉列表中显示business_package表中的那些包的名称。 我的sql查询工作正常我不知道怎么写cdbcriteria,我试着用cdbcriteria写,但我每次都得到错误。下面给出的是我的SQL查询。

select package.id
from package
join business_package on package.id = business_package.package_id 

我想使用下面给出的下拉列表中的结果。

$this->widget('ext.select2.ESelect2',array(
  'name'=>'ReviewPackage[Package_id]',
  'data'=>CHtml::listData(Package::model()->findAll($criteria), 'id', 'package_name'), 
  //the whole available list of those package which are in business package table.
  'htmlOptions'=>array(
       'placeholder'=>' search Business name?',
    //'options'=>$options, //the selected values
   // 'multiple'=>'multiple',
    'style'=>'width:530px',
  ),
  ));

1 个答案:

答案 0 :(得分:2)

请参阅http://www.yiiframework.com/doc/guide/1.1/en/database.query-builder

这样的事情应该这样做:

$criteria = new CDbCriteria;
$criteria->alias = 'package';
$criteria->select = 'package.id';
$criteria->join='LEFT JOIN business_package ON business_package.package_id=package.id';