thinkphp中create方法自动创建表单数据之后,会把表单中的字段当作模型对象的属性保存吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了thinkphp中create方法自动创建表单数据之后,会把表单中的字段当作模型对象的属性保存吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1982字,纯文字阅读大概需要3分钟。
内容图文
![thinkphp中create方法自动创建表单数据之后,会把表单中的字段当作模型对象的属性保存吗?](/upload/InfoBanner/zyjiaocheng/152/67d9e34d857e47d589f17608559f2a42.jpg)
if(IS_POST){
if($model->validate($model->_login_validate)->create()){
if($model->login()){
if($res = session('returnUrl')){
session('returnUrl',null);
$returnUrl = $res;
}else{
$returnUrl = U('/');
}
$this->success('登陆成功!',$returnUrl);
die;
}
}
$this->error($model->getError());
}
模型中的代码:
public function login(){
var_dump($this);die; //这里打印$this并没有找到username和password这两个属性,可是为什么下面的$username可以取到值呢??
$username = $this->username;
$password = $this->password;
$model = M('Member');
$where['username'] = $username;
$user = $model->where($where)->find();
。。。
}
回复内容:
控制器中的代码:
if(IS_POST){
if($model->validate($model->_login_validate)->create()){
if($model->login()){
if($res = session('returnUrl')){
session('returnUrl',null);
$returnUrl = $res;
}else{
$returnUrl = U('/');
}
$this->success('登陆成功!',$returnUrl);
die;
}
}
$this->error($model->getError());
}
模型中的代码:
public function login(){
var_dump($this);die; //这里打印$this并没有找到username和password这两个属性,可是为什么下面的$username可以取到值呢??
$username = $this->username;
$password = $this->password;
$model = M('Member');
$where['username'] = $username;
$user = $model->where($where)->find();
。。。
}
是存在data里面的 用get读取不存在的属性 然后到data里面 同样 可以set 设置属性 也就是对象 后面直接加属性
public function __get($name) {
return isset($this->data[$name])?$this->data[$name]:null;
}
public function __set($name,$value) {
// 设置数据对象属性
$this->data[$name] = $value;
}
会的,虽然没这样写过 不过我打印过create后的对象 发现有这些属性
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->create($data);
// 创建完成数据对象后可以直接读取数据
echo $User->name;
echo $User->email;
// 也可以直接修改创建完成的数据
$User->name = 'onethink'; // 修改name字段数据
$User->status = 1; // 增加新的字段数据
http://www.kancloud.cn/manual...
从3.2.3文档里找了这么一段。你create()后 你所访问的 $this->name; 这应该是被创建后的属性
你var_dump($model);试试。。
内容总结
以上是互联网集市为您收集整理的thinkphp中create方法自动创建表单数据之后,会把表单中的字段当作模型对象的属性保存吗?全部内容,希望文章能够帮你解决thinkphp中create方法自动创建表单数据之后,会把表单中的字段当作模型对象的属性保存吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。