Искам да направя нещо, което не знам как точно би станало, още повече с Laravel.
@Fakeheal ми беше помогнала с една функция да извеждам и показвам на страницата категорията и най-ниската цена на продукт в нея.
Сега понеже ще има продукти, които нямат категория искам да показвам всички продукти на страницата, както са си без категория + всички категории ... т.е. всички категории на страницата + всички продукти без категории...
Две таблици са category и products ... общото, което има между тях е category_id. id-то на категорията го запазвам и на продукта, когато е добавен към нея. Когато продукта не е добавен в категория там стои 1 ... Реално аз нямам категория с id=1 ... в селекта 'Без категория' този опшънс е извън луупа и с value='1'..
имам и още една колона в таблицата products - single_product , което по дефолт е 1 ако не е добавен в категория... може би с него ще е по-лесно..
Това ми е Categories модел-а
Това ми е Product модела
А това ми е view-то, където се опитвам да ги покажа всичките
Помагайте, защото съм се оплел много
Това, което мога да кажа е че в момента показва само
едит: Забравих HomeController-a ако е нужен и той...
@Fakeheal ми беше помогнала с една функция да извеждам и показвам на страницата категорията и най-ниската цена на продукт в нея.
Сега понеже ще има продукти, които нямат категория искам да показвам всички продукти на страницата, както са си без категория + всички категории ... т.е. всички категории на страницата + всички продукти без категории...
Две таблици са category и products ... общото, което има между тях е category_id. id-то на категорията го запазвам и на продукта, когато е добавен към нея. Когато продукта не е добавен в категория там стои 1 ... Реално аз нямам категория с id=1 ... в селекта 'Без категория' този опшънс е извън луупа и с value='1'..
имам и още една колона в таблицата products - single_product , което по дефолт е 1 ако не е добавен в категория... може би с него ще е по-лесно..
Това ми е Categories модел-а
Код:
class Categories extends Eloquent {
protected $table = 'category';
protected $primaryKey = 'category_id';
public $timestamps = false;
public function products()
{
return $this->hasMany('Product', 'category_id');
}
public function lowestProduct() {
return $this->products()->selectRaw('*, max(price) as aggregate')
->groupBy('products.product_id')->orderBy('aggregate');
}
}
Код:
class Product extends Eloquent {
protected $table = 'products';
protected $primaryKey = 'product_id';
public function categories()
{
return $this->hasMany('Categories', 'category_id');
}
public $timestamps = false;
}
Код:
<div class="col-xs-8 text-left" style="margin-top: 9px">
@if ($category->products()->min('single_product') == 1)
Price: <strong>{{ $category->products()->min('price') }} $ </strong>
@endif
Price from: <strong>{{ $category->products()->min('price') }} $ </strong>
</div>
Помагайте, защото съм се оплел много
Това, което мога да кажа е че в момента показва само
тоест само категориите...Price from: <strong>{{ $category->products()->min('price') }} $ </strong>
</div>
едит: Забравих HomeController-a ако е нужен и той...
Код:
public function index()
{
$categories = Categories::has('products')
->orderBy('category_name', 'ASC')->get();
return View::make('site.index', [
'categories' => $categories
]);
}