Laravel空间查询生成器获取请求搜索
嘿,我是新手,请原谅这个问题。我正在尝试实现搜索,并努力发送正确的GET请求。当我手动输入URL时,它会工作Laravel空间查询生成器获取请求搜索,laravel,search,spatie,Laravel,Search,Spatie,嘿,我是新手,请原谅这个问题。我正在尝试实现搜索,并努力发送正确的GET请求。当我手动输入URL时,它会工作 http://127.0.0.1:8000/spsu?_token=kDRdTBZBwfO0l8UiFi1mcKmNOH7JEiNoxvUu7Fka&filter[name]=Peter&%5Bemail%5D= 然而,当我通过表单“filter[name]”发送它时,它丢失了,我不知道如何添加它 http://127.0.0.1:8000/spsu?_token=kD
http://127.0.0.1:8000/spsu?_token=kDRdTBZBwfO0l8UiFi1mcKmNOH7JEiNoxvUu7Fka&filter[name]=Peter&%5Bemail%5D=
然而,当我通过表单“filter[name]”发送它时,它丢失了,我不知道如何添加它
http://127.0.0.1:8000/spsu?_token=kDRdTBZBwfO0l8UiFi1mcKmNOH7JEiNoxvUu7Fka&name=Peter&%5Bemail%5D=
这是我的SearchController.php:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use Spatie\QueryBuilder\QueryBuilder;
class SearchController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function spsu() {
$users = QueryBuilder::for(User::class)
->allowedFilters(['name', 'email'])
->get();
return view('suche', compact('users'));
}
}
我希望有人能帮忙。亲切的问候 您应该使用
过滤器[]
作为输入名称
例如,与其使用
name='email'
不如使用name='filter[email]'
我很高兴它能帮上忙。接受别人知道的答案。
@extends('layouts.app')
@section('content')
<div id="main-content" class="col-12">
<div class="col-md-6 text-right">
<form action="/spsu" method="GET" class="form-inline">
@csrf
<div class="form-group">
<input type="text" class="form-control" name="name" placeholder="Keyword">
</div>
<div class="form-group">
<input type="text" class="form-control" name="[email]" placeholder="Keyword">
</div>
<div class="form-group">
<button class="btn btn-dark" type="submit">Search</button>
</div>
</form>
</div>
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Detail</th>
<th width="10%"></th>
</tr>
</thead>
<tbody>
@forelse($users as $user)
<tr>
<td>
<u>
{{ $user->name }}
</u>
<br>
<p>
{{ $user->email }}
</p>
</td>
</tr>
@empty
<tr>
<td colspan="2" align="center">
Empty data
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>
@endsection
Route::get('/spsu', 'SearchController@spsu');