Lor*_*rim 2 laravel laravel-nova
我在管理端使用 Laravel Nova。我有这个问题,在我的数据透视表中,我添加了额外的字段。我有用户表和事件表。用户可以有很多事件,而事件可以有很多用户。所以我为这两个模型创建了一个数据透视表。但我想了解用户事件的状态。所以我在数据透视表中添加了额外的状态字段。
我现在的问题是在 Laravel Nova 中。在我的活动资源中,我有这个:
BelongsToMany::make('Pending Users', 'pendingUsers', 'App\Nova\User'),
Run Code Online (Sandbox Code Playgroud)
它显示了挂起客户端的另一个表。我已经可以获取特定事件中的用户列表,但我无法在表格中显示用户事件的状态。如果用户被批准或仍在等待。
在我的情况下什么策略是最好的?我正在考虑为事件和用户制作一个模型。
我不知道如何在 Laravel Nova 的 BelongsToMany 中显示数据透视表的附加字段。它只是显示了我在 Nova 的用户资源中添加的内容。比如身份证和姓名。但我不知道用户事件的状态会显示在哪里。我想在用户的 BelongsToMany 事件表中显示它。
小智 5
您需要确保在 BOTH 模型中定义关系,然后让 Nova 知道您想要显示哪些字段,如下所示:
在您的活动资源中:
BelongsToMany::make('Users')
->fields(function() {
return [
Text::make('status')
];
}),
Run Code Online (Sandbox Code Playgroud)
在您的事件模型中:
public function users()
{
return $this->belongsToMany(User::class)->withPivot('status');
}
Run Code Online (Sandbox Code Playgroud)
在您的用户模型中:
public function events()
{
return $this->belongsToMany(Event::class)->withPivot('status');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1803 次 |
| 最近记录: |