aw-studio / laravel-dynamic-relations
v0.1.0
2021-10-20 08:44 UTC
Requires
- illuminate/contracts: ^8.46
- illuminate/support: ^8.46
- inertiajs/inertia-laravel: ^0.4
Requires (Dev)
- php: ^8.0
- orchestra/testbench: ^6.21
- phpunit/phpunit: ^9.5
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.