模型的定义
(1)定义位置
定义模型的位置,默认是在app目录下面:
(2)命名规则
本身laravel对模型的命名没有严格的要求,一般采用 表名(首字母大写).php
比如:Member.php User.php Goods.php
(3)创建模型
可以使用artisan命令;例如创建一个member模型【模型也可分目录管理,但是没必要】
[project] > php artisan make:model Member
(4)定义模型注意事项(重点);
第一:(必做)定义一个$table属性,值是不要前缀的表名(真实的表名),如果不指定则使用类名的复数形式作为表名。如果模型为Member模型在不指定table属性的情况下,其默认会去找members表。修饰词:protected
第二:(可选)定义$primaryKey属性,值是主键名称,如果需要使AR模式的find方法,则可能需要指定主键(Model::find(n)),在主键字段不是id的时候则需要指定主键。修饰词:protected
第三:(可选)定义$timestamps属性,值是false,如果不设置为false,默认为true。则默认会操作表中的created_at和updated_at字段,我们表中一般没有这两个字段,所以设置为false,表示不要操作这两个字段。修饰词:public。【并不是所有的增加、修改操作都会自动帮我们去更新这2个字段】
模型的使用:模型在控制器中的使用方式有2种
①直接像使用DB门面一样的操作方式:以调用静态方法为主的形式,该形式下模型不需要实例化,例如:Member::get() 等价于DB::table(‘member’) ->get();
②实例化模型然后再去使用模型类(普通)
例如:$model = new Member();$model -> get();
两种形式的选择标准:
如果使用的方法都是laravel框架自带的,则任意选择;
如果使用的方法有用户自己在模型中定义的,使用第②种形式。