Laravel spatie QueryBuilder GET请求搜索

问题描述 投票:0回答:1

嘿,我很新,请原谅这个问题。我正在尝试实施搜索,并努力发送正确的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=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'));
    }
}

这是刀片文件:

@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

在我的web.php中:

Route::get('/spsu', 'SearchController@spsu');

我希望有人可以提供帮助。亲切的问候!

嘿,我很新,请原谅这个问题。我正在尝试实施搜索,并努力发送正确的GET请求。当我手动输入URL http://127.0.0.1:8000 / spsu?_token = ...

laravel search spatie
1个回答
0
投票

您应该使用filter[<field>]作为输入名称。

© www.soinside.com 2019 - 2024. All rights reserved.