Livewire 句柄查询
Livewire handle Query
您好,我正在尝试使用 livewire 创建搜索查询。我想得到这样的特定查询:
http://127.0.0.1:8000/users?page=1&name=abc
如何处理我的查询?现在我的控制器和我的 blade 视图看起来像这样:
public $page, $currentPage,$name;
public function submit(Request $request)
{
$input = $request->all();
dd($input);
}
public function mount(Request $request)
{
$value = session()->get('token');
$page = $request->input('page');
$client =new \GuzzleHttp\Client([
'http_errors' => false,
]);
$this->response = $client->get(env('API_URL').'users?', [
'query' => [
'page'=>$page,
'name'=>$this->name,
],
'headers' => [
'Authorization' => 'Bearer '.$value ,
'Accept' => 'application/json',
],
]);
$this->res = json_decode($this->response->getBody(), true);
}
我假设您有一个 blade 和 <input type="text" wire:model="name"/>
这样的输入来按名称搜索。
在您的挂载中,您可能希望像这样从请求中传递数据:
public function mount(Request $request)
{
...
$this->name = request()->query('name');
...
}
并删除挂载的责任并添加到如下函数:
private search($name){
$this->response = $client->get(env('API_URL').'users?', [
'query' => [
'page'=> $page,
'name'=> $name,
],
'headers' => [
'Authorization' => 'Bearer '. $value ,
'Accept' => 'application/json',
],
]);
$this->res = json_decode($this->response->getBody(), true);
}
然后添加一个函数来听取输入的变化:
public function updatedName($name){
$this->search($name);
}
页面查询 我不确定您是从 API 还是查询字符串中获取它们。如果您使用的是模型,我建议您查看 WithPagination 特性。如果您使用的是 API 分页,则必须在前面手动应用页面的更改。
您好,我正在尝试使用 livewire 创建搜索查询。我想得到这样的特定查询:
http://127.0.0.1:8000/users?page=1&name=abc
如何处理我的查询?现在我的控制器和我的 blade 视图看起来像这样:
public $page, $currentPage,$name;
public function submit(Request $request)
{
$input = $request->all();
dd($input);
}
public function mount(Request $request)
{
$value = session()->get('token');
$page = $request->input('page');
$client =new \GuzzleHttp\Client([
'http_errors' => false,
]);
$this->response = $client->get(env('API_URL').'users?', [
'query' => [
'page'=>$page,
'name'=>$this->name,
],
'headers' => [
'Authorization' => 'Bearer '.$value ,
'Accept' => 'application/json',
],
]);
$this->res = json_decode($this->response->getBody(), true);
}
我假设您有一个 blade 和 <input type="text" wire:model="name"/>
这样的输入来按名称搜索。
在您的挂载中,您可能希望像这样从请求中传递数据:
public function mount(Request $request)
{
...
$this->name = request()->query('name');
...
}
并删除挂载的责任并添加到如下函数:
private search($name){
$this->response = $client->get(env('API_URL').'users?', [
'query' => [
'page'=> $page,
'name'=> $name,
],
'headers' => [
'Authorization' => 'Bearer '. $value ,
'Accept' => 'application/json',
],
]);
$this->res = json_decode($this->response->getBody(), true);
}
然后添加一个函数来听取输入的变化:
public function updatedName($name){
$this->search($name);
}
页面查询 我不确定您是从 API 还是查询字符串中获取它们。如果您使用的是模型,我建议您查看 WithPagination 特性。如果您使用的是 API 分页,则必须在前面手动应用页面的更改。