yii的relations方法的使用
来源:互联网 发布:解压缩软件下载 编辑:程序博客网 时间:2024/05/29 18:12
yii的relations方法的使用
分类:
版权声明:本文为博主原创文章,未经博主允许不得转载。
通过在 relations() 中声明这些相关对象,我们就可以利用强大的 Relational ActiveRecord (RAR) 功能来访问资讯的相关对象,例如它的作者和评论。不需要自己写复杂的 SQL JOIN 语句。
- 前提条件
在组织数据库时,需要使用主键与外键约束才能使用ActiveReocrd的关系操作;
- 场景
申明关系
两张表之间的关系无非三种:一对多;一对一;多对多; 在AR中,定义了四种关系:
在AR中通过重写CActiveRecord类的relations()方法来申明关系;这个方法返回一个关系配置的数组;一个数组无素代表一个单独的关系,格式如下:
'VarName'=>array('RelationType','ClassName','ForeignKey', ...additional options)
- 'select': string|array, 被选中的列列表。默认值为 '*',这意味着是所有列。 如果它们出现在一个表达式中(例如: COUNT(relationName.name) AS name_count)。
- 'condition': string, WHERE子句。 默认值为空。 注意,列引用需要加入'relationName'前缀 。(例如:relationName.age>20)
- 'order': string, ORDER BY子句。 默认值为空。 注意,列引用需要加入'relationName'前缀 。(例如:relationName.age DESC)
- 'with': string|array, 应该与这个对象一起装载的子对象相关名单。 注意,这仅仅是延迟加载,而不是预先加载。
- 'joinType': 联接类型。 默认值为‘LEFT OUTER JOIN’。
- 'alias': 关系与关联表的别名。 它默认为null, 意味着表的别名与关系名称相同。
- 'params': 参数绑定到要生成的SQL语句上。 这应作为名称-值的数组。
- 'on': ON 子句。 此处指定的条件将追加到使用 AND 运算符的联接条件。
- 'index': 其值应作为存储相关的对象的数组的键的列的名称。 此选项仅适用于, HAS_MANY 和 MANY_MANY 关系。
- 'scopes': 应用范围。在单一的范围情况下可以像'scopes'=>'scopeName', 在多个作用域范围情况下可以使用数组像这样'scopes'=>array('scopeName1','scopeName2')。 此选项自版本 1.1.9 可用。
延迟加载时有一定的关系,下列选项可用:
- 'group': string, GROUP BY子句。 默认值为空。 注意,列引用需要加入'relationName'前缀 。(例如: relationName.age)。此选项仅适用于HAS_MANY 和 MANY_MANY 关系。
- 'having': string, HAVING子句。 默认值为空。 注意,列引用需要加入'relationName'前缀 。(例如: relationName.age)。此选项仅适用于HAS_MANY 和 MANY_MANY 关系。
- 'limit': 数据行的limit选择。 这个选项不能应用到BELONGS_TO。
- 'offset': 数据行的偏移量。 这个选项不能应用到BELONGS_TO。
- 'through': 获取相关的数据时将用作桥的模型的关系的名称。可以设置仅为 HAS_ONE 和 HAS_MANY。此选项自版本 1.1.7 可用。
0 0
- yii的relations方法的使用
- yii的relations方法的使用
- yii的relations方法的使用
- Yii的relations方法的使用
- yii的relations方法的使用
- yii的relations方法的使用
- Yii框架relations的使用
- 关于yii的relations
- 关于yii的relations
- 关于yii的relations
- Yii中relations的用法
- Yii中的relations方法
- yii分析 yii的 view语法和model中的relations
- yii的relations里self::BELONGS_TO的用法
- yii模型中关系(relations)中非主键关联的解决方案
- Yii框架中ActiveRecord使用Relations
- YII使用relations关联聚合指定字段
- yii使用SESSION的方法
- 10.4题解
- touch.js
- 缓存雪崩问题
- 谈谈技术学习计划
- go web编程-使用Mux控制路由访问
- yii的relations方法的使用
- spinner 下拉列表
- 主函数main(argc,**argv)中两个参数的用法
- [Android] UI 的更新及其线程模型
- UVA 11134 Fabled Rocks(贪心)
- 使用HTTP协议访问网络
- Oracle数据库(Oracle存储结构、Oracle运行机制、日期相关的函数、序列、大对象数据类型、表的修改与约束、事务)
- 常用的shell脚本
- 类打开浏览器