Warning: Undefined array key "zibbs_visit" in /www/wwwroot/www.qwesky.club/application/controllers/IndexController.php on line 100
五:模型操作(AR模式) — php — 我的学习笔记

五:模型操作(AR模式)


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