Laravel 7 中文文档
laravel模型使用快速入门
模型文件的位置
App/Models
命名规则
本身laravel对模型的命名没有严格的要求,一般采用 表名(首字母大写).php
如: Member.php User.php Admin.php Goods.php
创建模型
使用artisan命令
1 | php artisan make:model 模型文件名 |
分目录的
1 | php artisan make:model Models/User |
创建模板并生成迁移文件
1 | php artisan make:model Models/User –m |
-m 生成迁移文件
模型限制
定义表名($table)
模型所对应的默认表名是在模型后面加【s】,如同表名没有s则操作的时候就会报错。解决方案,指定表名
1 | protected $table = ‘member’; |
指定主键名($primaryKey)
laravel 中默认的主键 ID 名为 id,如果你创建的表字段中主键 ID 的名称不为 id,则需要通过$primaryKey
来指定一下。
- 指定主键的名称
1 | protected $primaryKey = ‘kid’; |
指定时间戳($timestamps)
默认情况下,模型操作会认为在你的数据库表有 created_at
和 updated_at
字段。如果你不希望让模型来自动维护这两个字段,可在模型内将 $timestamps
属性设置为 false
。
- 时间戳 这里一定要注意它是用的
public
1 | public $timestamps = false; |
批量赋值($fillable 与 $guarded)
当通过 create
方法来保存数据的时候,你需要先在你的模型上定义 $fillable
或
$guarded
属性。
- 批量赋值
白名单
1 | protected $fillable = [‘允许添加的字段名’]; |
黑名单
1 | protected $guarded = [‘拒绝添加的字段名’]; |
CURD基本操作
添加数据
- 方法一
1 | save() # 对象属性方式 |
- 方法二
1 | create() # 数组方式 需要在模型中设置好fillable或guarded属性 |
- 方法三
1 | insert() #数组方式 |
修改数据
方法一
1
save() # 对象属性方式
方法二
1
update() # 数组
查询数据
查询单条
1
first()
查询多条
1
get()
条件
1
where()
排序
1
orderBy()
取指定的值
1
value()
取指定的列
1
pluck()
查询总记录数
1
count()
根据id查询
1
findOrFail()
删除数据
注意:在laravel里面如果要删除数据,必须先根据条件查询出对应的记录,返回一个对象,然后调用对象的delete方法即可。
删除 一定要指定条件删除
1
delete()
模型关联
定时任务
定义调度
在 App\Console\Commands
目录下创建 Demo.php
1 | namespace App\Console\Commands; |
编辑 app/Console/Kernel.php
文件,将新生成的类进行注册
1 | namespace App\Console; |
如果有多个定时任务,只需参照 Demo.php
再次生成一个,Kernel.php
中的 $commands
数组中再添加新加的类,schedule
中 $schedule->command('新name')->everyFiveMinutes();
1 | ->cron('* * * * *'); 在自定义Cron调度上运行任务 |