Я пытаюсь отобразить избранную игру на своей домашней странице, но получаю сообщение об ошибке:
Call to undefined method Illuminate\Database\Eloquent\Builder::links()
при изменении в HomeController:
From
$home = Product::inRandomOrder()->paginate($pagination);
К
$home = Product::where('featured', 'true');
HomeController
public function public(){
$pagination = 9;
$categories = Category::all();
if (request()->category) {
$home = Product::where('category_id', request()->category)->paginate($pagination);
$categoryName = optional($categories->where('id', request()->category)->first())->name;
}
else {
$home = Product::where('featured', 'true');
$categoryName = 'Featured';
}
return view('home.index')->with([
'home' => $home,
'categories' => $categories,
'categoryName' => $categoryName,
'mode' => 'public'
]);
}
2020_04_09_073846_create_products_table
Schema::create('products', function (Blueprint $table) {
$table->increments('id');
$table->integer('category_id')->unsigned();
$table->string('name');
$table->string('slug');
$table->string('description');
$table->string('releaseDate');
$table->boolean('featured')->default(false);
$table->float('price');
$table->timestamps();
});
{{ $homes->links() }}
в home.blade. php ( в конце html, конечно)
Таким образом, каждая игра имеет значение 0, поэтому она должна отображать пустую страницу без какой-либо игры.
Пагинация работает нормально без изменения строки в HomeController, но когда я перехожу на $home = Product::where('featured', 'true');
. Это не работает.
То, что я пробовал:
Поместите 5, 10 или 20 игр на 1 в столбце избранных, но с такой же ошибкой.
Поместите $home = Product::where('featured', 'true')->paginate($pagination);
, но он показывает мне все игры, которые у меня есть ...
Спасибо за вашу помощь.