我正在尝试在Yii中获取一个相关的表,它一直在尝试引用event.text字段时给出错误。
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,
),
),
));
通过关系'Event'与InvitationCode相关的表事件确实有一个文本字段,但我无法使用'event.text'或'Event.text'访问它 如果我将'select'部分保留下来,它只会带来InvitationCode的文件,而不会带来相关表Event中的任何字段,尽管它位于'with'部分。
如何引用相关的表事件?
答案 0 :(得分:0)
确切的错误讯息是什么? 你可以在InvitationCode模型类中发布定义relations()的代码吗? 您是否启用了查询日志记录以查看生成的确切查询?
正如评论中指出的那样,您可能必须明确地将=&gt; true设置为真正的加载。
来自:http://www.yiiframework.com/doc/guide/1.1/en/database.arr
一起:与此关系关联的表是否应该 被迫与主表和其他表连接在一起。 此选项仅对HAS_MANY和MANY_MANY关系有意义。 如果此选项设置为false,则表示与HAS_MANY或 MANY_MANY关系将与主表一起单独连接 SQL查询,这可以提高整体查询性能,因为更少 返回重复的数据。如果此选项设置为true,则 关联表将始终与a中的主表连接 单个SQL查询,即使主表是分页的。如果这 如果未设置选项,则关联的表将与 仅当主表不是时,单个SQL查询中的主表 分页。有关更多详细信息,请参阅“关系查询”一节 性能”。