简体   繁体   English

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

[英]How to write this join query in cdbcriteria?

I've been stuck for three hours and I cannot find a solution, I want to show only the name of those packages which are in the business_package table in my dropdown. 我被困了三个小时,找不到解决方案,我只想显示下拉菜单中business_package表中那些软件包的名称。 My sql query which is working fine I do not know how to write in cdbcriteria, I tried to write in cdbcriteria, but I get error every time. 我的sql查询工作正常,我不知道如何用cdbcriteria编写,我尝试用cdbcriteria编写,但是每次都会出错。 Given below is my sql query. 下面给出的是我的sql查询。

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

I want to use the results in given below drop down list. 我想使用下面给出的下拉列表中的结果。

$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',
  ),
  ));

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

Something like that should do it: 这样的事情应该做到:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM