Laravel 9 之前模型属性访问器、修改器
通过 setFooBarAttribute($value)
、getFooBarAttribute()
方法来定义和访问自定义动态 fooBar
属性。
1 | namespace App\Models; |
Laravel 9 及之后版本的模型属性访问器、修改器
通过返回值类型为 Attribute
类来定义和访问自定义动态属性。
通过 setFooBarAttribute($value)
、getFooBarAttribute()
方法来定义和访问自定义动态 fooBar
属性。
1 | namespace App\Models; |
通过返回值类型为 Attribute
类来定义和访问自定义动态属性。
测试用 Octane 加速 Laravel10,并发达到4倍左右,同时对比Hyperf3压力测试
Laravel
开发爽,但性能完全无法忍受。刚完成一个项目,有点时间,试试看用 octane
加持后是否能摆脱 Laravel
的性能魔咒。Laravel
应用基本可可无缝迁移到 Hyperf
,因此同时测试 Hyperf
,看看 Swoole
协程异步加持的 Hyperf
是不是比 Laravel
快很多。
1 | 服务器: 阿里轻量云服务器 |
Laravel Eloquent 日期系列化成 json,默认系列化格式为:2023-03-08T08:16:02.000000Z
。
原因是 Laravel 模型基类的 serializeDate()
时间系列化方法调用 Carbon\Traits\Converter::toJSON()
方法,返回的是 ISO-8601
格式的日期。
引起问题的代码如下:
1 | // Illuminate\Database\Eloquent\Concerns\HasAttributes |
Laravel 中使用 Intervention 缩放图片/生成缩略图
Laravel
中使用 Intervention
库缩放图片的时候,没必要用专供的接口,用通用不需要任何配置,还更简单,直接调用就可以。
Intervention
包composer require intervention/image
Laravel Eloquent 数据库关联模型的增删改操作
Laravel
Eloquent
ORM
提供了数据模型关联表操作的 API,熟练掌握这些API后,才体会到 Laravel
数据库操作有多高效。
1 | // 新建一条数据 Post 的评论,save 将自动添加 post_id 字段 |
和 save/saveMany
的区别是参数时数组,而不是模型。
1 | - users |
1 | // App\Models\User |
1 | // App\Models\Avatar |
1 | // 新建 |
1 | - posts |
1 | // App\Models\Post 关联 |
//TODO
1 | User::query()->whereIn( |