我创建了 Bread ,用于使用带有关系列的voyager来显示所有用户,并且我希望此列仅显示具有管理员角色的用户。
我试图覆盖视图,但我认为错误的选择有帮助吗?
let bestilling = {
btnUndersider1: 500,
btnUndersider2: 750,
btnUndersider3: 1500,
btnUndersider4: 4500,
}
for (x=0; x<Object.keys(bestilling).length; x++) {
e = document.createElement('span');
e.innerText = Object.keys(bestilling)[x] + " - ";
document.body.appendChild(e);
e = document.createElement('input');
e.value = bestilling[Object.keys(bestilling)[x]];
document.body.appendChild(e);
document.body.appendChild(document.createElement('br'));
}
我可以到达@if($row->field == 'lead_belongsto_user_relationship')
@endif
视图中的列,但是我不知道如何编辑结果数组或如何覆盖查询。
它显示了所有我只想显示管理员列表的用户。
答案 0 :(得分:0)
我终于使用自定义控制器做到了。 步骤: 首先创建新的控制器
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();
}
}
在这里我将其覆盖以仅选择role_id = 3的用户,您可以根据需要对其进行自定义。
之后,转到BREAD设置并填写控制器名称 在我的情况下,使用您的完全合格的班级名称 “ \ App \ Http \ Controllers \ LeadController”