我有一个User可以分配到多个Company。我正在尝试使用 Laravel Datatables 和 jQuery Datatables 呈现表格。它呈现得很好,当单击表标题中的订单图标时,它会按该列对数据进行排序,但它不适用于关系列company_name。这是我在控制器中的代码:
$users = User::with(['roles','companies'])
->where('users.id', '!=', Auth::id())
->whereHas('roles', function($q){$q->whereId(Role::ROLE_6);});
Run Code Online (Sandbox Code Playgroud)
...
return Datatables::of($users)
->editColumn('company', function (User $user) {
return $user->hasCompanies()? $user->companies->first()->company_name : trans('lang.company.not_assigned');
})
->orderColumn('company', 'company')
->make(true);
Run Code Online (Sandbox Code Playgroud)
这是我用于数据表的 javascript:
otable = $('#datatable_fixed').DataTable({
"ajax": {
url: 'users/datatable',
type: 'POST',
},
"pageLength": 15,
"processing": true,
"stateSave": true,
"serverSide": true,
"bDestroy": true,
columns: [
{data: 'first_name', name: 'first_name'},
{data: 'last_name', name: 'last_name'},
{data: 'company', name: 'company.company_name'},
{data: 'email', name: 'email'},
{data: 'status', …Run Code Online (Sandbox Code Playgroud) 我想从关键字和退出关键字返回一个值,就像在编程语言中从函数返回值一样。关键字从页面上的列表中随机选择一个项目,但如果页面只包含 1 个项目,那么整个事情就会崩溃。我无法找到解决方案,这就是我在 atm 上所做的:
Get Random Item From Page
# Pass the general list items xpath to the argument
[Arguments] ${element_path}
${elements}= Get Element Count ${element_path}
Run Keyword If ${elements} == 1 [Return] ${element_path}[1]
${random}= FakerLibrary.Random Int 1 ${elements}
[Return] ${element_path}[${random}]
Run Code Online (Sandbox Code Playgroud)
问题是它在第一个返回标签之后继续执行关键字。我究竟做错了什么?