如何在查询中创建“ -on”或不具有“默认关系”的criteria->with()

select *
from status kk 
inner join user tt 
left join userstatus ii on kk.status_id = ii.status_id 
    and ii.user_id = tt.user_id

我想用它在YII中的dataProvider CGridView搜索中。

还是有其他方法可以解决这个问题?

===============>>#1 票数:0

CDbCriteria :: with要求您定义关系。 如果要手动连接表,则该类还允许您使用join属性进行操作

http://www.yiiframework.com/doc/api/1.1/CDbCriteria#join-detail

===============>>#2 票数:0

您可以在模型中定义关系 ,而不是在搜索方法中使用关系 例如

public function relations() {
        return array(
            'user' => array(self::BELONGS_TO, 'Users', 'user_id'),
        );
    }

并在搜索方法中:

public function search() {        
        $criteria = new CDbCriteria;
        $criteria->with = array('user');
        ......
}

  ask by Edwardus Joius Revi translate from so

未解决问题?本站智能推荐:

1回复

Yii的。 前端的CGridView。 没有$ model-> search()的CActiveDataProvider

我不知道是否有可能,但是假设一定有。 我需要在前端视图中显示一些数据-以表格形式显示的公司列表:公司名称1-国家1-网站1-等...公司名称2-国家2-网站2-等...等...我试图为此目的使用CGridView。 我的控制器: 我的观点: 输出是一个不错的网格,其中考虑
1回复

Yii与CDbCriteria和CActiveDataProvider一起使用带有自定义搜索的联接

嗨,我正在使用Yii创建一个应用程序 我修改了模型中的search(),但遇到了问题。 用户可以以管理员,管理员,客户身份登录 当用户登录为管理员时,他只能从它们都属于的商店中查看客户端。 到目前为止,我已经做到了。 现在的问题是,当我尝试阻止经理在CGridView中
1回复

yii CDbCriteria选择不起作用?

我需要编辑CGridView的查询 所以在我的模型中,我将函数search()更改如下: 但是从我的角度来看,我得到一个错误,该错误表明选择不正确: 为什么这样?
1回复

Yii的。 CActiveDataProvider和很多关系

我有两个模型:文档和报告。 一份文件可以有0或几份报告。 一份报告属于0或1份文件。 field document_id可以为null。 我想使用CGridView小部件显示表。 表包含“文档名称”和“报告名称”列。 如果文件没有报告只放“文件名”并保持“报告名”空白。
1回复

将MySql Pivot表插入到Yii CActiveDataProvider中

我有一个表结构如下: 请同时检查SQL小提琴。 http://sqlfiddle.com/#!9/1a579/3 数据随此查询一起加载。 如何将其形成CDbCriteria对象和CActiveDataProvider ? 我需要将这些数据加载到cgridview并允许使
1回复

从Yii中的CActiveDataProvider获取模型属性值

我有zii.widgets.grid.CGridView并且我从不同的模型CActiveDataProvider应用了CActiveDataProvider ,例如: 在用户模型中,我使用zii.widgets.grid.CGridView来显示用户创建的文章,因此,当用户单击view ,
1回复

CGridView中的Yii可排序列

我有一个想要排序的计算列。 我有一个获取方法... 我遵循了这个主题... CGridview自定义字段可排序 但是现在它正在寻找数据库中的实际列。 如何仅为此CActiveDataProvider临时使用<calculations> AS cur_margi
2回复

在Yii中按月分页Gridview

是否可以按月分页gridview? 我想我可以通过添加条件并创建导航以每月生成结果的方式,通过ActiveDataProvider实现此目的。 但是Yii中是否已经有一种简单的方法或内置的东西?
1回复

Yii cgridview cactivedataprovider无法正常工作

我在文档编写时配置了Yii cactivedataprovider: 因此,当-> together为false时,gridview可以正常工作并获取所有行,即分页所允许的,但是在这种情况下,compare(所以搜索)不起作用(因为这种方式不使用sql查询中的相关对象), 但
5回复

Yii分页显示的项目少于可用项目

我有一个简单的CGridView,它来自CActiveDataProvider。 目前,我不确定这种情况发生了多长时间,它没有显示启用了pagenation的视图中的所有数据项。 我的标题显示“显示9个结果中的1-7个”,但没有更多页面的按钮。 如果我将数据提供程序的pagenatio