elbgoods / eloquent-sync-one-to-many
0.3.0
2020-04-08 12:16 UTC
Requires
- php: ^7.4
- illuminate/support: ^6.0 || ^7.0
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.3
- orchestra/testbench: ^4.0 || ^5.0
- phpunit/phpunit: ^8.0 || ^9.0
This package is auto-updated.
Last update: 2024-09-08 21:31:12 UTC
README
此包提供类似于BelongsToMany同步方法的一对多关系的同步功能。
安装
您可以通过composer安装此包
composer require elbgoods/eloquent-sync-one-to-many
用法
使用ID进行同步
$user->tasks()->sync([1, 2, 4]);
使用ID和额外属性进行同步
$user->tasks()->sync([ 1 => ['status' => 'wip', 'priority' => 1], 4 => ['status' => 'finished', 'priority' => 3], ]);
不分离进行同步
$user->tasks()->syncWithoutDetaching([1, 2, 4]); // or $user->tasks()->sync([1, 2, 4], ['detaching' => false]);
同步并将额外属性设置为分离
$user->tasks()->sync( [1, 2, 4], 'set_after_detach' => [ 'status' => 'open', 'priority' => 0, ], );
使用给定键作为ID的值进行同步
$user->tasks()->sync([ ['task_id' => 1, 'status' => 'wip', 'priority' => 1], ['task_id' => 4, 'status' => 'finished', 'priority' => 3], ], [foreign_id_key => 'task_id']);
结果与BelongsToMany
的同步方法的结果相同,是一个包含attach、detached和updated行的数组。
更新日志
请参阅CHANGELOG以获取更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
请参阅SECURITY以获取详细信息。
鸣谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。
TreeWare
您可以自由使用此包,但如果它进入您的生产环境,我们将非常感激您购买或为世界种一棵树。
众所周知,应对气候危机并防止气温上升超过1.5C的最好工具之一是种树。如果您为我的森林做出贡献,您将为当地家庭创造就业机会并恢复野生动物栖息地。
您可以在https://offset.earth/treeware购买树木
有关TreeWare的更多信息,请参阅https://treeware.earth
此包使用Laravel Package Boilerplate生成。