rvkolosov / laravel-withtrait
用于Laravel模型动态加载关系的WithTrait。
dev-master
2019-06-21 19:51 UTC
Requires
- illuminate/container: ^5.8
- illuminate/database: ^5.8
This package is auto-updated.
Last update: 2024-09-22 07:31:31 UTC
README
要求
该包已在以下配置中进行测试
- PHP版本 >= 7.1.3
- Laravel框架版本 >= 5.8
安装
使用以下命令通过composer安装此包
composer require rvkolosov/laravel-withtrait
配置
在您的模型中启用特质
use RVKolosov\LaravelWithTrait\WithTrait; use App\Models\Image; class Post extends Model { use WithTrait; public function images() { return $this->hasMany(Image::class); } }
对于控制器的index方法,使用withRelations()
use App\Models\Post; class PostController extends Controller { public function index() { return Post::withRelations()->get(); } }
对于控制器的show方法,使用loadRelations()
use App\Models\Post; class PostController extends Controller { public function show(Post $post) { return $post->loadRelations(); } }
用法
您可以在GET
请求中动态加载关系。
加载列表的关系
GET http://example.com/post?with[]=images
加载一个对象的关系
GET http://example.com/posts/1?with[]=images
许可
Laravel WithTrait是开源软件,许可协议为MIT许可证