rvkolosov/laravel-withtrait

用于Laravel模型动态加载关系的WithTrait。

dev-master 2019-06-21 19:51 UTC

This package is auto-updated.

Last update: 2024-09-22 07:31:31 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

要求

该包已在以下配置中进行测试

  • 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许可证