Я работаю над библиотечным приложением и хочу реализовать функцию поиска, чтобы пользователи могли искать книги по названиям. Мне удалось создать функцию поиска, и я могу видеть книги, но если я хочу что-то искать, я получаю 0 результатов. Не могли бы вы сказать мне, как я мог сделать правильные результаты отображаются?
Ниже мой код:
BookSearchController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Book;
class BookSearchController extends Controller
{
/**
* Get the index name for the model.
*
* @return string
*/
public function index(Request $request)
{
if($request->has('titlesearch')){
$books = Book::search($request->titlesearch)
->paginate(6);
}else{
$books = Book::paginate(6);
}
return view('book-search',compact('books'));
}
/**
* Get the index name for the model.
*
* @return string
*/
public function create(Request $request)
{
$this->validate($request,['title'=>'required']);
$books = Book::create($request->all());
return back();
}
}
book-search.blade. php
<!DOCTYPE html>
<html>
<head>
<title>Book search</title>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h2>Book search</h2><br/>
<form method="POST" action="{{ route('create-book') }}" autocomplete="off">
@if(count($errors))
<div class="alert alert-danger">
<strong>Whoops!</strong> There were some problems with your input.
<br/>
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="row">
<div class="col-md-6">
<div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}">
<input type="text" id="title" name="title" class="form-control" placeholder="Enter Title" value="{{ old('title') }}">
<span class="text-danger">{{ $errors->first('title') }}</span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<button class="btn btn-success">Create New Book</button>
</div>
</div>
</div>
</form>
<div class="panel panel-primary">
<div class="panel-heading">Book management</div>
<div class="panel-body">
<form method="GET" action="{{ route('books-lists') }}">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" name="titlesearch" class="form-control" placeholder="Enter Title For Search" value="{{ old('titlesearch') }}">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<button class="btn btn-success">Search</button>
</div>
</div>
</div>
</form>
<table class="table table-bordered">
<thead>
<th>Id</th>
<th>Book</th>
<th>Creation Date</th>
<th>Updated Date</th>
</thead>
<tbody>
@if($books->count())
@foreach($books as $key => $book)
<tr>
<td>{{ ++$key }}</td>
<td>{{ $book->title }}</td>
<td>{{ $book->created_at }}</td>
<td>{{ $book->updated_at }}</td>
</tr>
@endforeach
@else
<tr>
<td colspan="4">There are no data.</td>
</tr>
@endif
</tbody>
</table>
{{ $books->links() }}
</div>
</div>
</div>
</body>
</html>