Laravel-datatables: 如何在Laravel 5.3中的多个字段中过滤连接的结果值

创建于 2017-02-03  ·  3评论  ·  资料来源: yajra/laravel-datatables

你好,

在我的数据表中,我将名称字段检索为CONCAT(fname,“”,“ lname”)。 我必须在数据表中搜索名称字段,它应该返回与fname或lname匹配的名称。 请让我知道如何执行此操作:

js代码:

columns  : [
             { data: 'name', name: 'fname' }, //I have tried this also : ['fname','lname' ]
                --------------------

PHP代码:

$users = User::leftJoin('address', 'address.user_id', '=', 'users.user_id') 
                    ->select([\DB::Raw(
                        'CONCAT(fname," ",lname) as name, CONCAT(country_code, "", mobile_number) as mobile_num, IF(status = 1, "Active", "Inactive") as status,
                        (SELECT count(subscription_id) FROM subscription WHERE subscription.user_id = users.user_id AND subscription.status IN (2,4)) as totalActivesubscription'

                        ), 'gender', 'city as address', 'city','users.user_id', 'email_id'])

                    ->where('users.role_id', '=', $aParam['role_id']);

            return Datatables::of($users)
                ->addColumn('actions', function ($users) {
                    return view('users.templates.user_action', [
                        'user' => $users
                        ])->render();
                })


            ->make(true);

系统详细信息:“

  • 作业系统:Windows8,Linux
  • PHP版本:5.6
  • Laravel版本:5.3
  • Laravel-Datatables版本:最新
question

最有用的评论

也许尝试在您的js上使用此技巧:

columns  : [
   { data: 'name', name: 'fname' },
   { data: 'name', name: 'lname', visible: false },
...

或使用filterColumn API。

所有3条评论

也许尝试在您的js上使用此技巧:

columns  : [
   { data: 'name', name: 'fname' },
   { data: 'name', name: 'lname', visible: false },
...

或使用filterColumn API。

通过使用filterColumn API可以正常工作。 谢谢你。
但是,如果我们需要搜索另一个表的字段(该表已加入主查询中),该怎么办?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

t0n1zz picture t0n1zz  ·  3评论

alejandri picture alejandri  ·  3评论

SGarridoDev picture SGarridoDev  ·  3评论

techguydev picture techguydev  ·  3评论

FilipeBorges1993 picture FilipeBorges1993  ·  3评论