gpt4 book ai didi

Laravel spatie QueryBuilder GET 请求搜索

转载 作者:行者123 更新时间:2023-12-02 18:59:29 27 4
gpt4 key购买 nike

嘿,我很新,请原谅这个问题。我正在尝试实现搜索并努力发送正确的 GET 请求。当我手动输入 URL 时它会起作用

http://127.0.0.1:8000/spsu?_token=kDRdTBZBwfO0l8UiFi1mcKmNOH7JEiNoxvUu7Fka&filter[name]=Peter&%5Bemail%5D=

但是,当我通过表单发送它时,“过滤器[名称]”丢失了,我不知道如何添加它。

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'));
}
}

这是 Blade 文件:

@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');

希望有人能帮忙。亲切的问候!

最佳答案

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

例如代替 name='email'做到name='filter[email]'

关于Laravel spatie QueryBuilder GET 请求搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60238417/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com