我如何搜索 jQuery 数据表中字符串中显示的布尔值?
How do i search Boolean value which is displayed in string in jQuery datatable?
我有一个字段 user_role,它在数据库中是布尔值。 1 = 经理和 2 = 普通用户。我在数据库中显示 if user_role = 1 然后它显示管理器等等。但问题是当我搜索 "Manager" 时,无法在 user_role 字段中搜索。但是当我搜索“1”时,这将显示经理字段中的所有记录。
这是我的代码。
$(function () {
var url = "{{ asset('managers') }}";
var table = $('#managers-table').DataTable({
bProcessing: true,
ordering: true,
serverSide: true,
paging: true,
bRetrieve: true,
autoWidth: false,
ajax: {
url: url
},
aaSorting: [[1, 'desc']],
columns: [
{data: 'user_id'},
{data: 'email'},
{data: 'username'},
{
"data": 'user_role',
"render": function (data) {
return data == 1 ? "<span>Manager</span>" : "<span>Normal user</span>";
}
},
]
});
});
这是我的 php 代码。
/**
* Display a listing of the Manager.
*
* @param Request $request
* @return Response
*/
public function index(Request $request)
{
$this->managerRepository->pushCriteria(new RequestCriteria($request));
if ($request->ajax()) {
return Datatables::of(Manager::IsDelete()->IsTestData()->get())->make(true);
}
return view('managers.index');
}
如何搜索 user_role 字段?如果有人知道这一点,请提供帮助。
我得到了解决方案。更改 PHP 代码中的查询
public function index(Request $request)
{
$this->managerRepository->pushCriteria(new RequestCriteria($request));
if ($request->ajax()) {
return Datatables::of(Manager::select(DB::raw("user_id, email, username,is_active,(CASE WHEN (user_role = 1) THEN 'Manager' ELSE 'Normal User' END) as user_role"))->IsDelete()->IsTestData()->get())->make(true);
}
return view('managers.index');
}
我有一个字段 user_role,它在数据库中是布尔值。 1 = 经理和 2 = 普通用户。我在数据库中显示 if user_role = 1 然后它显示管理器等等。但问题是当我搜索 "Manager" 时,无法在 user_role 字段中搜索。但是当我搜索“1”时,这将显示经理字段中的所有记录。 这是我的代码。
$(function () {
var url = "{{ asset('managers') }}";
var table = $('#managers-table').DataTable({
bProcessing: true,
ordering: true,
serverSide: true,
paging: true,
bRetrieve: true,
autoWidth: false,
ajax: {
url: url
},
aaSorting: [[1, 'desc']],
columns: [
{data: 'user_id'},
{data: 'email'},
{data: 'username'},
{
"data": 'user_role',
"render": function (data) {
return data == 1 ? "<span>Manager</span>" : "<span>Normal user</span>";
}
},
]
});
});
这是我的 php 代码。
/**
* Display a listing of the Manager.
*
* @param Request $request
* @return Response
*/
public function index(Request $request)
{
$this->managerRepository->pushCriteria(new RequestCriteria($request));
if ($request->ajax()) {
return Datatables::of(Manager::IsDelete()->IsTestData()->get())->make(true);
}
return view('managers.index');
}
如何搜索 user_role 字段?如果有人知道这一点,请提供帮助。
我得到了解决方案。更改 PHP 代码中的查询
public function index(Request $request)
{
$this->managerRepository->pushCriteria(new RequestCriteria($request));
if ($request->ajax()) {
return Datatables::of(Manager::select(DB::raw("user_id, email, username,is_active,(CASE WHEN (user_role = 1) THEN 'Manager' ELSE 'Normal User' END) as user_role"))->IsDelete()->IsTestData()->get())->make(true);
}
return view('managers.index');
}