Home > Article > PHP Framework > thinkphp model definition
Model definition
1. Define the model
1. Define a model that matches the database
class User extends Model{ }
2. The model will automatically correspond to the data table. The naming rule of the model class is to remove the table prefix (for example: tp_ ), use camel case naming with the first letter capitalized, for example:
tp_user (table name) => User (model name)
tp_user_type (table name) => ; UserType (model name)
3. If you are worried about the conflict between the model name and PHP keywords, you can enable the class suffix function and just set it in the application configuration file app.php:
// 开启应用类库后缀 'class_suffix' => true,
4. After setting up, all controller names and class names must be added with Controller and Model, for example:
Class UserModel
Class UserController
two . Model settings
1. The default primary key is id. If you want to set other primary keys, it is similar to uid:
protected $pk = 'uid';
2. When the controller calls the model, if the controller class name Duplicate with the model name, you can set an alias:
use app\test\model\User as UserModel;
3. You can also set other table names in the model in the model definition. :
protected $table = 'tp_other';
4. The model also supports initialization like the controller. The static method must be set here, as follows:
protected static function init() { //初始化内容 }
3. Model operation
1. Model operations are consistent with database operations, but model operations do not require specifying table names, for example:
Database operations:
Db::name('user')->all ();
Model operations:
User:all();
2. Model operations and databases The result types returned by the operation are different. The result returned by the database operation is a (two-dimensional) array [ [ ] ], while the result returned by the model operation is a result set [ { } ].
Recommended tutorial: "TP5"
The above is the detailed content of thinkphp model definition. For more information, please follow other related articles on the PHP Chinese website!