Home >Backend Development >PHP Tutorial >Detailed explanation of data method of ThinkPHP CURD method_PHP tutorial
The data method of ThinkPHP CURD method is also one of the coherent operation methods of the model class. It is used to set the value of the data object currently to be operated. Many developers are not used to using this method. Today I will explain how to use it well. data method.
The specific usage is as follows:
1. Write operation
Usually we generate data objects through the create method or assignment, and then write them to the database, for example:
$Model = D('User'); $Model->create(); // 这里略过具体的自动生成和验证判断 $Model->add();
Or assign a value directly to the data object, for example:
$Model = M('User'); $Model->name = '流年'; $Model->email = 'thinkphp@qq.com'; $Model->add();
Then the data method directly generates the data object to be operated, for example:
$Model = M('User'); $data['name'] = '流年'; $data['email'] = 'thinkphp@qq.com'; $Model->data($data)->add();
Note: If we use the create method and data to create a data object at the same time, the method called later is valid.
The data method supports arrays, objects and strings, and the object methods are as follows:
$Model = M('User'); $obj = new stdClass; $obj->name = '流年'; $obj->email = 'thinkphp@qq.com'; $Model->data($obj)->add();
The string method is used as follows:
$Model = M('User'); $data = 'name=流年&email=thinkphp@qq.com'; $Model->data($data)->add();
You can also directly pass in the data object in the add method to add new data, for example:
$Model = M('User'); $data['name'] = '流年'; $data['email'] = 'thinkphp@qq.com'; $Model->add($data);
But this way the data parameter can only use arrays.
Of course the data method can also be used to update data, for example:
$Model = M('User'); $data['id'] = 8; $data['name'] = '流年'; $data['email'] = 'thinkphp@qq.com'; $Model->data($data)->save();
Of course we can also use it directly like this:
$Model = M('User'); $data['id'] = 8; $data['name'] = '流年'; $data['email'] = 'thinkphp@qq.com'; $Model->save($data);
Similarly, the data parameter can only be passed in an array at this time.
When calling the save method to update data, it will automatically determine whether there is a primary key value in the current data object. If so, it will automatically be used as an update condition. In other words, the following usage is equivalent to the above:
$Model = M('User'); $data['name'] = '流年'; $data['email'] = 'thinkphp@qq.com'; $Model->data($data)->where('id=8')->save();
2. Read operation
In addition to writing operations, the data method can also be used to read the current data object, for example:
$User = M('User'); $map['name'] = '流年'; $User->where($map)->find(); // 读取当前数据对象 $data = $User->data();