首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法引用Yii的ActiveRecord中的相关表

问无法引用Yii的ActiveRecord中的相关表
EN

Stack Overflow用户
提问于 2012-02-09 10:16:51
回答 1查看 324关注 0票数 1

我试图在Yii中获得一个相关的表,但它一直给我一个错误,试图引用event.text字段。

代码语言:javascript
复制
return new CActiveDataProvider( 'InvitationCode', array(
    'criteria'=>array(
    'select' => array( 't.id', 'code', 'Event.text' ),
    'condition'=>'t.id >= :min_code_id AND t.id <= :max_code_id',
    'order'=>'t.id Asc',
    'with' => array( 'Event' ),
    'params' => array(
          ':min_code_id' => $min_code_id, 
          ':max_code_id' => $max_code_id,
        ),                  
    ),      
));  

通过关系‘InvitationCode’与event相关的表Event确实有一个文本字段,但我既不能用'event.text‘也不能用'Event.text’来访问它

如果我省略了'select‘部分,那么它只会带出InvitationCode的字段,而不会带出相关表事件中的任何字段,尽管它在'with’部分。

如何引用相关的表事件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-09 18:50:41

确切的错误消息是什么?你能在InvitationCode模型类中发布定义关系()的代码吗?您是否启用了查询日志记录以查看生成的确切查询?

正如注释所指出的,您可能必须显式地设置together=>true以进行急切加载。

来自:http://www.yiiframework.com/doc/guide/1.1/en/database.arr

together :是否应该强制与此关系关联的表与主表和其他表连接在一起。此选项仅对HAS_MANY和MANY_MANY关系有意义。如果此选项设置为false,则与HAS_MANY或MANY_MANY关系关联的表将在单独的SQL查询中与主表联接,这可能会提高整体查询性能,因为返回的重复数据较少。如果此选项设置为true,则关联表将始终与主表在单个SQL查询中联接,即使主表已分页也是如此。如果未设置此选项,则仅当主表未分页时,关联表才会在单个SQL查询中与主表联接。有关更多详细信息,请参阅“关系查询性能”一节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9204535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档