laravel自带的Eloquent ORM 提供了一个美观、简单的与数据库打交道的ActiveRecord实现,
每张表都对应一个与该表进行交互的Model模型,模型文件允许你在表中进行数据查询、以及插入,更新、删除操作。
AR模式三个核心
模型类-------表
属性----------字段
实例-----------记录
1、命名规则:
本身laravel对模型的命名没有严格的要求,一般采用 表名【首字符大写】.php,比如“Member.php,User.php”
2、创建模型
#php artisan make:model Member
3、注意事项
第一:(必做)定义一个$table属性,值是不要前缀的表名。如果不指定,则使用类名的复数形式作为表名。修饰词:protected
第二:(可选)定义$primaryKey属性,值是主键名称,如果需要时AR模式的find方法,修饰词protected
则可能需要指定主键(Model.find(n)),在主键字段不是ID的时候需要指定主键。
第三:(可选)定义$timestamps属性,值是false,如果不设置false,则默认会操作表中的create_at和
update_at字段,我们表中一般没有这两个字段,所以要设置威false.修饰词public
第四:(可选)定义$fillable属性,表示使用模型插入数据时,允许插入到数据库的字段信息。修饰词protected
注意:使用模型中create插入数据时,要设置fillable允许入库的字段,使用$guarded是设置排除入库额字段。
4、模型控制器中调用
引用Member模型类,use AppMember;
表单提交:
5、查询操作
获取指定主键的一条数据
$info = Member::find(4);
结果是一个对象,Member::find(4)->toArray();转为数组。
获取符合指定条件的第一条记录
Member::where('id','>',4)->first();
查询多行并且指定字段
Member::all();
Member::all(['字段1','字段2’])
相当于get方法
Member::get()
Member::get(['字段1','字段2'])
按条件查询指定多个字段
Member::where('id','>',2)->get(['列1','列2']);//数组选列
Member::where('id','>',2)->select('列1',‘列2’)->get();//字符串选列
Member::where('id','>',2)->select(['列1','列2'])-get();//字符串选列
test2026-03-29 21:04
