Create() has been used many times in the project, but it is only for form verification, but it often makes mistakes. It pains me to understand its ins and outs and usage
1: Generate data objects through the create() method or assignment method, and then write them to the database
<span>1</span> <span>$model</span> = D('User'<span>); </span><span>2</span> <span>$model</span>->create(); <span>//</span><span>略过具体的自动生成和验证判断</span> <span>3</span> <span>$model</span>->add()
1: The create() method also supports other ways to create data objects: such as other data objects or arrays
1 $data['name'] = 'Mike'; 2 $data['sex'] = 'male'; 3 $user-> create($data);
2: The created data can be read and modified directly
3: The second operation method of create can specify the operation status of creating data. The default is to automatically determine whether it is a write or update operation
4: If automatic verification is not defined, the return value of the create method is an array of created data objects
5: The data object created by the create method is saved in the memory and is not actually written to the database. It will not be actually written to the database until the add or save method is used
Two: For writing: field() and create() are used together to detect the legality of the field (form submission)
1 $model->field('title,email,content')->create();
The only legal fields are title, email, and content. No matter what method the user uses to add other fields, they will be blocked.
Three: Automatic verification is a data verification method provided by the model layer. Create automatically performs data verification when creating a data object: it is specifically divided into static and dynamic methods
Four: create() completes a series of work and workflow while creating data objects
Steps | Return | 1 |
Get the data source (default is POST array) | 2 | |
Verify the validity of the data source (non-arrays or objects will be filtered) | Failure returns false | 3 |
Check field mapping | 4 | |
Judge data status (add or edit, specify or automatically judge) | 5 | |
Automatic data verification | Failure returns false | 6 |
Form Token Validation | Failure returns false | 7 |
Form data assignment (filtering illegal fields and string processing) | 8 | |
Data automatically completed | 9 | |
Generate data object (saved in memory) | The above introduces the create in tp that makes people feel confused, including some aspects. I hope it will be helpful to friends who are interested in PHP tutorials. |