В моем приложении Laravel у меня есть страница со списком категорий. Когда пользователь нажимает на определенную подкатегорию, я хотел бы перечислить все продукты и использовать разбиение на страницы этого результата. Я уже перечисляю все продукты, относящиеся к этой подкатегории, теперь, с помощью идентификатора подкатегории:
public function subcategoryListing($slug){
$products = Subcategory::find($idofSubcat)->products;
return view('pages.subcategorylisting')
->with(array(
'products' => $products,
));
}
В этой структуре задействованы три класса: Категория, Подкатегория и Продукты. Они были объявлены следующим образом:
Категория
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\Relation;
use App\Subcategory;
class Category extends Model
{
protected $table = 'category';
public $timestamps = false;
public function subCategory(){
return $this->hasMany('App\Subcategory', 'category_id');
}
}
категория
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Subcategory extends Model
{
protected $table = 'subcategory';
public $timestamps = false;
public function products(){
return $this->hasMany('App\Products');
}
}
Продукция
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Products extends Model
{
protected $table = 'products';
}
Для каждого класса модели у меня есть одна таблица с этой структурой:
Category
- id
- category_name
SubCategory
- id
- category_id
- subcategory_name
Products
- id
- subcategory_id
- product_title
- description
- price
Я хочу, чтобы разбивать результаты, полученные из запроса на моей странице. Есть ли лучший способ получить products
, связанный с subcategory
и разбивать на них страницы?