gpt4 book ai didi

laravel-5 - Laravel nova 属于过滤器

转载 作者:行者123 更新时间:2023-12-04 01:51:14 24 4
gpt4 key购买 nike

我有一张 table 冠军和一张 table 用户。我也有相同的模型(冠军和用户)。

一场锦标赛中可能有一名主裁判、一名主秘书和一名裁判运算符(operator)。所有这些也是我的应用程序中的角色并存储在角色表中。

我创建了一个新的资源锦标赛,其中包含 3 个所属字段。所有这些都可以搜索。

        BelongsTo::make('Main judge', 'mainJudge', User::class)
->onFormsAndDetail()
->searchable(),

BelongsTo::make('Main secreatary', 'mainSecretary', User::class)
->onFormsAndDetail()
->searchable(),


BelongsTo::make('Judge operator', 'judgeOperator', User::class)
->onFormsAndDetail()
->searchable(),

在搜索过程中,我需要过滤查询,以便只搜索具有相同角色的用户。

例如,在搜索主判断期间,我必须将下一个过滤器包含到查询中
select *
from users u
join users_roles ur on u.id = ur.user_id
join roles r on ur.role_id = r.id
where r.alias = 'judge'

我在 app/Nova/Resource.php 中找到了一些方法,例如相关查询,但是如果我有 3 个用户字段,我如何在用户资源中使用它。

最佳答案

在冠军资源上,您必须创建具有关系名称的函数。

例如

public static function relatableMainSecretary(NovaRequest $request, $query)
{
return $query->where(...);
}

关于laravel-5 - Laravel nova 属于过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52970420/

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