aw-studio/laravel-dynamic-relations

v0.1.0 2021-10-20 08:44 UTC

This package is auto-updated.

Last update: 2024-09-20 16:04:28 UTC


README

一个用于将动态关系附加/分离到Eloquent 模型的包。

另请参阅:Laravel Dynamic Attributes

设置

使用 composer 安装此包

composer require aw-studio/laravel-dynamic-relations

发布迁移

php artisan vendor:publish --tag="dynamic-relations:migraitons"

使用方法

只需将 HasDynamicRelations 添加到一个模型中

use Illuminate\Database\Eloquent\Model;
use AwStudio\DynamicRelations\HasDynamicRelations;

class Page extends Model
{
    use HasDynamicRelations;
}

并附加一个关系

$page = Page::create();

$page->attach('article', $article)

dd($page->article); // Is the attached article

可以使用 detach 方法将相关的模型分离

$page->detach('article', $article);

附加一个集合

您可能希望为“多对多”关系附加一组模型。这可以通过将集合实例作为 attach 方法的第二个参数传递来实现

$page = Page::create();

$page->attach('article', collect([$article]));

dd($page->article); // A collection containing the attached article.