其实很简单,在你用M实例化一个Model对象的时候,所有的Model都是继承Thinkphp的Model模型类。而在model模型类中有一个魔术方法__set,如果你对面向对象的魔术方法有了解的话,就知道__set是为不存在的属性进行赋值。这样通过__set 就把这些不存在属性放到了属性为关联数组的data中,如图:
当用户调用add方法时,检测是否传入data数据,如果没有则调用刚才存在属性data中的数据。如图:
$User = M('User')$User->create() //创建User数据对象
$User->status = 1 // 设置默认的用户状态
$User->create_time = time() // 设置用户的创建时间
$User->add() // 把用户对象写入数据库
这个是官方的说明文档里的,add之前先create一下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)