常见用法:
// 性别 1-男 2-女
$form->select('sex', '性别')->options([1 => '男', 2 => '女'])->default(1);
搜索输入框:(包含大量数据,不适合一次请求插入)
routes定义:
$router->get("select_name", 'Test\TestController@selectName')->name('select_name');
过滤器,表单内使用:
$form->select('name', '姓名')->options()->ajax('/select_name');
接口:
//搜索用户姓名
public function selectName(Request $request) {
//select框输入内容(用户姓名),q是固定值不需要变
$name = $request->input('q');
if ($name == '') return response()->json([]);
//查询结果
$list = DB::where('name', 'like', '%' . $name . '%')
->paginate(null, ['id', 'name'])
->toArray();
return response()->json($list);
}
查询结果$list的数据类型:
/*
array (size=12)
'current_page' => int 1
'data' =>
array (size=15)
0 =>
array (size=2)
'id' => int 1
'text' => string '张1' (length=20)
1 =>
array (size=2)
'id' => int 2
'text' => string '张2' (length=21)
...
14 =>
array (size=2)
'id' => int 15
//text不要变
'text' => string '张15' (length=24)
'first_page_url' => string 'http://test.cn/select_name?page=1' (length=51)
'from' => int 1
'last_page' => int 390
'last_page_url' => string 'http://test.cn/select_name?page=390' (length=53)
'next_page_url' => string 'http://test.cn/select_name?page=2' (length=51)
'path' => string 'http://test.cn/select_name' (length=44)
'per_page' => int 15
'prev_page_url' => null
'to' => int 15
'total' => int 5848
*/