私はLaravelの初心者で、自分のサイトに簡単な検索バーを構築しようとしています。Laravel Searchbarクラス 'products'が見つかりませんでした/ ProductController @?
しかし、私はこのエラーを取得する:
Class 'products' not found
誰かが私は私のコントローラに忘れてきたものを私にしてください教えてください。インデックスの
検索フォーム:
<ul class="searchbar">
<form action="/search" class="light" method="POST" role="search">
{{ csrf_field() }}
<input type="text" class="form-control" name="q" placeholder="Find your item" />
<input type="submit" value="Search" />
</form>
search.blade.php:
@extends('master.main')
@if(Auth::check())
@section('main-content')
@component('master.notification')
@slot('size')
col-md-8 col-md-offset-2
@endslot
@slot('title')
Product Search
@endslot
<div class="container">
@if(isset($products))
<h2>Product Search</h2>
<table class="table table-striped">
<thead>
<tr>
<th>Product</th>
<th>Description</th>
</tr>
</thead>
<tbody>
@foreach($products as $dummy)
<tr>
<td>{{$dummy->name}}</td>
<td>{{$dummy->description}}</td>
</tr>
@endforeach
</tbody>
</table>
{!! $products->render() !!}@endif
</div>
<div class="container">
@if(isset($details))
<p> The Search results for <b> {{ $query }} </b> are :</p>
<h2>Product Search</h2>
<table class="table table-striped">
<thead>
<tr>
<th>Product</th>
<th>Description</th>
</tr>
</thead>
<tbody>
@foreach($details as $products)
<tr>
<td>{{$products->name}}</td>
<td>{{$products->description}}</td>
</tr>
@endforeach
</tbody>
</table>
@if($details){!! $details->render() !!}@endif
@elseif(isset($message))
<p>{{ $message }}</p>
@endif
</div>
@endcomponent
@stop
@endif
web.php:
Route::get ('/', function() {
$mydatabase = products::paginate(25);
return view ('search')->withproducts($mydatabase);
});
Route::any ('/search', function() {
$q = Input::get ('q');
if($q != ""){
$products = products::where ('name', 'LIKE', '%' . $q . '%')->orWhere ('description', 'LIKE', '%' . $q . '%')->paginate (5)->setPath ('');
$pagination = $products->appends (array (
'q' => Input::get ('q')
));
if (count ($products) > 0)
return view ('search')->withDetails ($products)->withQuery ($q);
}
return view ('search')->withMessage ('No Products found. Try to search again !');
});
エラーがから来ている:
Route::get ('/', function() { $mydatabase = products::paginate(25);
products
またはProduct::paginate
が定義されているか、私は[email protected]
web.php
に使用する必要がありますどのように?はい、私はデータベーステーブルが見つかりませんproducts
;)私はproducts
の代わりにProduct
が正しいと思いますか?
/App/Product.php:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Storage;
class Product extends Model
{
public function category(){
return $this->belongsTo('App\Category');
}
public function seller(){
return $this->belongsTo('App\User');
}
public function buyer(){
return $this->belongsTo('App\User');
}
public function bids(){
return $this->hasMany('App\Bid');
}
public function purchases(){
return $this->hasMany('App\Purchase');
}
}
ルートに製品モデルを含める必要があります。それを含めましたか?製品モデルを作ったのですか?データベーステーブルと同じモデル名ですか? –
モデルページをシェアしよう! – C2486
App/Product.php(モデルページ)が追加されました。 –