こんにちは、
私のデータテーブルでは、名前フィールドを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);
システムの詳細:」
たぶんあなたのjsでこのトリックを使ってみてください:
columns : [
{ data: 'name', name: 'fname' },
{ data: 'name', name: 'lname', visible: false },
...
または、 filterColumnapiを使用します。
filterColumn apiを使用することで、機能しました。 ありがとうございました。
しかし、別のテーブル(メインクエリに参加している)のフィールドを検索する必要がある場合はどうでしょうか。
https://datatables.yajrabox.com/fluent/joinsを使用して解決しました
最も参考になるコメント
たぶんあなたのjsでこのトリックを使ってみてください:
または、 filterColumnapiを使用します。