gpt4 book ai didi

laravel - 如何在 Laravel Nova 中过滤使用 BelongsTo 字段的选择列表?

转载 作者:行者123 更新时间:2023-12-01 21:40:47 26 4
gpt4 key购买 nike

我有一个测验资源,用于定义测验中的问题和答案。

BelongsTo 字段用于选择该测验的创建者 - 它将此信息从我的用户表中提取出来。但是,我只想拉出“role_id”为 1 或 2 的用户。

我正在尝试使用 relatable 函数,但它似乎不想识别它的存在。

我的测验资源:

class Quiz extends Resource
{
/**
* The model the resource corresponds to.
*
* @var string
*/
public static $model = 'App\Quiz\Quiz';

public function fields(Request $request)
{

return [
...

BelongsTo::make('User', 'users','\App\Nova\User')
->display(function($user){
return $user->first_name . ' ' . $user->last_name;
}),

...
];
}
}

我的 Nova 用户模型:

class User extends Resource
{

public static $model = 'App\Account\User';

public static function relatableQuizzes(NovaRequest $request, $query)
{
return $query->where('role_id', 1);
}
}

我尝试过使用不同的函数名称,包括:相关用户相关用户相关测验相关测验相关测验

但是每次都没有效果。

如何按角色 ID 过滤此用户列表?

最佳答案

当您从 Quiz 资源关联Users 时,您是否尝试过相反的方法?

class Quiz extends Resource
{
// ...

public static function relatableUsers(NovaRequest $request, $query)
{
return $query->where('role_id', 1);
}
}

关于laravel - 如何在 Laravel Nova 中过滤使用 BelongsTo 字段的选择列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61385097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com