Laravel 8 Pivot (中转) 表属性
如果需要定义应该在链接模型的中转表 / 中间表上设置的属性,可以使用「hasAttached」方法。此方法接受中转表属性名称和值的数组作为其第二个参数:
use App\Models\Role;
use App\Models\User;
$users = User::factory()
->hasAttached(
Role::factory()->count(3),
['active' => true]
)
->create();
如果您的状态更改需要访问相关模型,则可以提供基于闭包的状态转换:
$users = User::factory()
->hasAttached(
Role::factory()
->count(3)
->state(function (array $attributes, User $user) {
return ['name' => $user->name.' Role'];
}),
['active' => true]
)
->create();