1 关于viewFields
在设计ViewModel时,注意字符串的大小写问题。举例如下
class DailyTaskViewModel extends ViewModel {
public $viewFields = array(
'UserInfo'=>array('nickname'=>'nickname','email'=>'email','account'=>'account', 'department'=>'department'),
'DailyTask'=>array('id', 'user_id', 'content','task_date','create_time','day_num',
'_on'=>'Userinfo.id=DailyTask.user_id')
);
}
UserInfo用于生成对应的数据表名,假设设置的表前缀是 sh_
则生成的表名为 sh_user_info
如果写成 Userinfo 则表名为 sh_userinfo
如果写成 UserinFo 则表名为 sh_userin_fo
也就是说大写字母用于断句,用下划线加小写字母的方式来替代原来的大写字母,以生成数据表。
因此在使用的thinkphp的项目中,不要使用大写字母为数据表命名,而且用下划线分隔语义,以增强数据表名的可读性,例如
sh_user_info
对应的viewmodel的viewFields 使用UserInfo
待续