Aug
21
Section 3 Model中的变量
当你创建一个新的model的时候,有很多特殊的变量可以设置,从而是model具备Cake赋予的相应操作。
$primaryKey
如果主键字段不为'id',COC无法发挥的时候,你可以通过该变量来指定主键字段名字。
$recursive
这个我们上面已经介绍过了,指定了model级联关联对象的深度。
想象这样一个场景,Group下的User下面还有各自的Articles。
$recursive = 0 Cake只会检索Group对象
$recursive = 1 Cake会检索包含User对象的Group对象
$recursive = 2 Cake会检索完成的包含Article的Group对象
$transactional
决定Model是否允许事务处理,true 或者 false。注意,仅在支持事务的数据库上有效。
$useTable
和$primaryKey一样,如果你的表名不能和model匹配的话,而且你也不想或者不能修改表名,则可以通过该变量来指定数据表名。
$validate
该变量为一个array,表示一组校验规则,详细请参见Chapter 12。
$useDbConfig
还记得我们在配制一章介绍的如何配置数据库连接变量吗?可以通过该变量非常方便的切换数据库连接,默认的是什么?猜一下,当然就是'default',rails就是让你忘却那些难以记忆的配置。