我被困在以下,
我正在使用Chumper / datatable来使用PHP Laravel显示来自MySQL数据库的数据。
如上所述,我创建了两条路线,一条用于向用户提供视图,另一条用于数据表数据:
Route::resource('users', 'UsersController');
Route::get('api/users', array('as'=>'api.users', 'uses'=>'UsersController@getDatatable'));
然后控制器
public function getDatatable()
{
return Datatable::collection(User::all(array('id','name', 'address')))
->showColumns('id', 'name', 'address')
->searchColumns('name')
->orderColumns('id','name')
->make();
}
并在刀片页面中
@extends ('layouts.main')
@section('content')
<h2>Users</h2>
<div id="User">
{{ Datatable::table()
->addColumn('id', 'name', 'address')
->setUrl(route('api.users'))
->render()
}}
</div>
@stop
问题在于我无法找到应用单个列搜索(选择输入)和搜索所有3列的方法。
谢谢 / magefi
答案 0 :(得分:0)
如果我理解正确,您可以将多个字段传递给searchColumns()
<强>控制器:强>
->searchColumns(array('id:char:255', 'first_name', 'last_name', 'address', 'email', 'age:char:255'))
<强>封装强>
vendor/chumper/datatable/src/Chumper/Datatable/Engines/BaseEngine.php
237: public function searchColumns($cols)
238 {
239 if ( ! is_array($cols))
....
来自README.md:
<强> searchColumns(.. $字段)强>
将使表格仅允许在给定列中进行搜索。 请注意,集合的行为与构建器对象不同。
注意:如果要使用查询引擎搜索数字列, 那么你也可以传递一个像这样的``
的搜索栏 // MySQL的
- &gt; searchColumns(数组(&#39; id:字符:255&#39;,&#39; first_name&#39;,&#39; last_name&#39;,&#39;地址&#39;,&#39; ;电子邮件&#39;,&#39;年龄:字符:255&#39;))//postgree ->searchColumns(array('id:text', 'first_name', 'last_name', 'address', 'email', 'age:text')) ```
这将在搜索时将列转换为给定类型的列 列