Laravel 6搜索功能问题

时间:2020-03-03 21:43:04

标签: php search laravel-6

我一直在尝试让我的应用程序能够运行搜索功能超过一个星期,已经阅读了所有文章,但我只是想不通。 我正在Laravel 6中开发一个库应用程序,这是我有史以来的第一个应用程序。 我想创建一个搜索功能,用户可以在其中搜索图书馆中书籍的标题。 我已经设法编写了一些代码,但无法获得任何结果。 可能是什么问题?

BookController:

 public function search(Request $request)
{
    $search = $request->get('search');
    $books = DB::table('books')->where('title','like','%' .$search. '%')->paginate(5);
    return view('books/index',['books' => $books]);
}

index.blade.php

@extends('layout')


@section('title')
<title>Alle Bücher</title>
@section('content')
<style>
  .uper {
    margin-top: 40px;
  }
</style>
<div class="uper">
  @if(session()->get('success'))
  <div class="alert alert-success">
    {{ session()->get('success') }}
  </div><br />
  @endif
  <div align="left">
            <div class="col-md-4">
                <h1>Books</h1>


            </div>
            <div class="col-md-4">
                <form action="{{ route('search') }}" method="get" role="search">
                    {{ csrf_field() }}
                    <div class="input-group">
                        <input type="text" class="form-control" name="_method" placeholder="Search Title> <span class="input-group-btn">
                            <button type="submit" class="btn btn-primary">Search</button></span>
                    </div>
                </form>
            </div>
        </div>
  <table class="table table-hover">
    <thead>
      <tr>
        <td>ID</td>
        <td>Titel</td>
        <td colspan="2">Autor</td>
        <td>Jahr</td>
        <td colspan="2">Verlag</td>
        <td colspan="2">Genre</td>
        <td>Sprache</td>
        <td>ISBN</td>
        <td>Seitenzahl</td>
        <td>Ausgeliehen von:</td>
        <td colspan="2">Funktionen</td>
      </tr>
    </thead>
    <tbody>
      @foreach($books as $book)
      <tr>
        <td>{{$book->id}}</td>
        <td>{{$book->title}}</td>
        @foreach($book->authors as $author)
        <td>{{$author->name}}</td>
        @endforeach
        <td>{{$book->year}}</td>
        @foreach($book->publishers as $publisher)
        <td>{{$publisher->name}}</td>
        @endforeach
        @foreach($book->genres as $genre)
        <td>{{$genre->name}}</td>
        @endforeach
        <td>{{$book->language->name}}</td>
        <td>{{$book->isbn}}</td>
        <td>{{$book->pages}}</td>
        <td>{{$book->user->name}}</td>

        <td><a href="{{ route('books.edit', $book->id)}}" class="btn btn-primary">Bearbeiten</a></td>
        <td>
          <form action="{{ route('books.destroy', $book->id)}}" method="post">
            @csrf
            @method('DELETE')
            <button class="btn btn-danger" type="submit">Löschen</button>
          </form>
        </td>
      </tr>
      @endforeach
    </tbody>
  </table>
  <div>
    @endsection

路线:

Route::get('search','BookController@search')->name('search');

我将非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

请检查您的刀片文件。您的输入字段名称属性与您在搜索功能中使用的属性不同。 <input type="text" class="form-control" name="_method" placeholder="Search Title> <span class="input-group-btn">

应该是

<input type="text" class="form-control" name="search" placeholder="Search Title> <span class="input-group-btn">