发表文章

[PHP] 模型方法在数据中不能作为服务使用 Model Methods are not working In datatables as Service[laravel-datatables]

sandipsapkota1 2017-10-9 37

问题或功能请求摘要

您好, 我使用数据作为服务的最新版本8.0。

在 UserDatataTable 的 php 文件中:

我的模型中有角色 () 方法, 但在添加的列中无法访问它。

问题的代码片断

公共函数数据表 ($query)
{
返回数据 ($query)
> addColumn (' 角色 ', 功能 ($query) {
返回 ($query > 角色 [0] > display_name);
上述方法有问题
})
> addColumn ("行动", "数据行动")
-> addColumn ("角色"、"雄辩/细节-数据/")
-> addColumn ("细节", "");
}

系统详细信息

  • 操作系统 Linux/MacOs/Apache
  • Php 版本7。1
  • Laravel 版本5。5
  • Laravel-数据版本 v8。0
原文:

Summary of problem or feature request

Hi, I am using Datatables as Service Latest version 8.0.

In UserDatataTable.php file:

I have roles() method inside my Model but i cannot access it in my added column.

Code snippet of problem

public function dataTable($query)
{
return datatables($query)
->addColumn('role', function ($query) {
return ($query->roles[0]->display_name);
//This above method has issue
})
->addColumn('action', 'datatables.action')
// ->addColumn('role','eloquent/details-data/')
->addColumn('details', "");
}

System details

  • OS Linux / MacOs / Apache
  • Php Version 7.1
  • Laravel Version 5.5
  • Laravel-Datatables Version v8.0
相关推荐
最新评论 (7)
ElfSundae 2017-10-9
1

roles()是一个方法, 但您使用 $query->roles[0] 作为属性访问它?

原文:

roles() is a method, but you access it using $query->roles[0] as an attribute?

sandipsapkota1 2017-10-9
2

是, 角色是返回角色数组的方法, 我如何才能访问特定用户的角色?

原文:

Yes, roles is a method that returns array of roles, How can i access that roles of particular user?

ElfSundae 2017-10-9
3

如何添加 ()[0]

return $query->roles()[0]->display_name;
原文:

How about adding () before [0] ?

return $query->roles()[0]->display_name;
sandipsapkota1 2017-10-9
4

它仍然显示此错误
screen shot 2017-10-06 at 5 34 29 pm

原文:

It still shows this error
screen shot 2017-10-06 at 5 34 29 pm

sandipsapkota1 2017-10-9
5

谢谢, 我明白了

原文:

thanks , i got it

ElfSundae 2017-10-9
6

roles() 公共的吗?
您的模型是 App\User

这似乎不是一个数据的问题, 你能在任何地方访问这个角色而不使用数据吗?

Route::get('test', function () {
    $user = \App\User::first();
    dd($user->roles(), $user->roles);
});
原文:

Is roles() public?
Your model is App\User?

It seems not a datatables issue, can you access this roles anywhere without using dataTables?

Route::get('test', function () {
    $user = \App\User::first();
    dd($user->roles(), $user->roles);
});
ElfSundae 2017-10-9
7

还行

原文:

OK

返回
发表文章
sandipsapkota1
文章数
1
评论数
3
注册排名
60857