覆盖 replationship 列以仅显示具有特定角色的用户
overriding replationship column to show only users with specific role
我创建了 BREAD 以使用 voyager 与关系列来显示所有用户,我希望此列仅显示具有管理员角色的用户。
我试图覆盖视图,但我认为它的错误选择有帮助吗?
@if($row->field == 'lead_belongsto_user_relationship')
@endif
我可以访问 view/add
视图中的列,但我不知道如何编辑结果数组或如何覆盖查询。
它正在显示我只想显示管理员列表的所有用户。
我终于用自定义控制器做到了。
步骤:
首先创建新控制器
php artisan make:controller LeadController
扩展 Voyagers 控制器
<?php
namespace App\Http\Controllers;
class LeadController extends \TCG\Voyager\Http\Controllers\VoyagerBaseController
{
//...
}
?>
最后你可以覆盖 VoyagerBaseController
中的关系函数
if($request->type == "lead_belongsto_user_relationship"){
if ($search) {
$total_count = app($options->model)->where($options->label, 'LIKE', '%'.$search.'%')->count();
$relationshipOptions = app($options->model)->take($on_page)->skip($skip)
->where($options->label, 'LIKE', '%'.$search.'%')->where("role_id",3)
->get();
} else {
$total_count = app($options->model)->count();
$relationshipOptions = app($options->model)->take($on_page)->skip($skip)->where("role_id",3)->get();
}
}
这里我将其覆盖为 select 只有 role_id = 3 的用户,您可以根据需要自定义它。
After that go to the BREAD-settings and fill in the Controller Name
with your fully-qualified class-name in my case it is
"\App\Http\Controllers\LeadController"
我创建了 BREAD 以使用 voyager 与关系列来显示所有用户,我希望此列仅显示具有管理员角色的用户。
我试图覆盖视图,但我认为它的错误选择有帮助吗?
@if($row->field == 'lead_belongsto_user_relationship')
@endif
我可以访问 view/add
视图中的列,但我不知道如何编辑结果数组或如何覆盖查询。
它正在显示我只想显示管理员列表的所有用户。
我终于用自定义控制器做到了。 步骤: 首先创建新控制器
php artisan make:controller LeadController
扩展 Voyagers 控制器
<?php
namespace App\Http\Controllers;
class LeadController extends \TCG\Voyager\Http\Controllers\VoyagerBaseController
{
//...
}
?>
最后你可以覆盖 VoyagerBaseController
中的关系函数 if($request->type == "lead_belongsto_user_relationship"){
if ($search) {
$total_count = app($options->model)->where($options->label, 'LIKE', '%'.$search.'%')->count();
$relationshipOptions = app($options->model)->take($on_page)->skip($skip)
->where($options->label, 'LIKE', '%'.$search.'%')->where("role_id",3)
->get();
} else {
$total_count = app($options->model)->count();
$relationshipOptions = app($options->model)->take($on_page)->skip($skip)->where("role_id",3)->get();
}
}
这里我将其覆盖为 select 只有 role_id = 3 的用户,您可以根据需要自定义它。
After that go to the BREAD-settings and fill in the Controller Name with your fully-qualified class-name in my case it is "\App\Http\Controllers\LeadController"