我一直在尝试让我的应用程序能够运行搜索功能超过一个星期,已经阅读了所有文章,但我只是想不通。 我正在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');
我将非常感谢您的帮助!
答案 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">