Add display of shelve
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Shop;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use App\Repositories\Shop\Articles;
|
||||
use App\Repositories\Shop\Categories;
|
||||
use App\Repositories\Shop\Offers;
|
||||
use App\Repositories\Shop\Tags;
|
||||
@@ -17,15 +18,14 @@ class CategoryController extends Controller
|
||||
return $dataTable->render('Shop.Categories.list');
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
public function show($category_id)
|
||||
{
|
||||
$data = self::init();
|
||||
$data['category'] = Categories::getFull($id);
|
||||
$data['offers'] = Offers::getByCategoryWithTags($id);
|
||||
$data['tags'] = Tags::getWithCountOffers();
|
||||
$data['tags2'] = TagGroups::getWithTagsAndCountOffers();
|
||||
dump($data);
|
||||
exit;
|
||||
$data['category'] = Categories::getFull($category_id);
|
||||
$data['articles'] = Articles::getArticlesToSell($category_id);
|
||||
$data['tags'] = TagGroups::getWithTagsAndCountOffers();
|
||||
// dump($data);
|
||||
// exit;
|
||||
return view('Shop.shelve', $data);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,9 +23,7 @@ class HomeController extends Controller
|
||||
$input = $request->input();
|
||||
$data = self::init();
|
||||
$data['display_by_rows'] = $input['by_rows'] ?? false;
|
||||
// $data['offers'] = Offers::getLast()->toArray();
|
||||
$data['articles'] = Articles::getArticlesToSell();
|
||||
// $data['tags'] = Tags::getWithCountOffers();
|
||||
$data['tags'] = TagGroups::getWithTagsAndCountOffers();
|
||||
return view('Shop.home', $data);
|
||||
}
|
||||
|
||||
@@ -78,9 +78,9 @@ class Article extends Model implements HasMedia
|
||||
|
||||
public function scopeByCategory($query, $category_id)
|
||||
{
|
||||
return $query->whereHas('categories', function ($query) use ($category_id) {
|
||||
return $category_id ? $query->whereHas('categories', function ($query) use ($category_id) {
|
||||
$query->where('id', $category_id);
|
||||
});
|
||||
}) : $query;
|
||||
}
|
||||
|
||||
public function scopeByProduct($query, $model)
|
||||
@@ -93,6 +93,20 @@ class Article extends Model implements HasMedia
|
||||
return $query->where($this->table . '.product_id', $model_id);
|
||||
}
|
||||
|
||||
public function scopeByTag($query, $tag_id)
|
||||
{
|
||||
return $tag_id ? $query->whereHas('tags', function ($query) use ($tag_id) {
|
||||
$query->where('id', $tag_id);
|
||||
}) : $query;
|
||||
}
|
||||
|
||||
public function scopeByTags($query, $tags)
|
||||
{
|
||||
return $tags ? $query->whereHas('tags', function ($query) use ($tags) {
|
||||
$query->whereIn('id', $tags);
|
||||
}) : $query;
|
||||
}
|
||||
|
||||
public function scopeWithOffers($query)
|
||||
{
|
||||
return $query->has('offers');
|
||||
|
||||
@@ -112,5 +112,4 @@ class Offer extends Model
|
||||
$query->whereIn('tag_id', $tags);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -22,14 +22,10 @@ class PriceListValue extends Model
|
||||
|
||||
public function tariff()
|
||||
{
|
||||
return $this->belongsToThrough(
|
||||
'App\Models\Shop\Tariff',
|
||||
'App\Models\Shop\PriceList',
|
||||
null,
|
||||
'',
|
||||
return $this->belongsToThrough('App\Models\Shop\Tariff', 'App\Models\Shop\PriceList', null, '',
|
||||
[
|
||||
'App\Models\Shop\Tariff' => 'tariff_id',
|
||||
'App\Models\Shop\PriceList' => 'price_list_id'
|
||||
'App\Models\Shop\PriceList' => 'price_list_id',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
@@ -61,9 +61,9 @@ class Articles
|
||||
return $data;
|
||||
}
|
||||
|
||||
public static function getArticlesToSell()
|
||||
public static function getArticlesToSell($category_id = false, $tags = false)
|
||||
{
|
||||
$articles = self::getArticlesWithOffers();
|
||||
$articles = self::getArticlesWithOffers($category_id, $tags);
|
||||
foreach ($articles as $article) {
|
||||
$price_lists = $article->offers[0]->tariff->price_lists->toArray();
|
||||
// dump($price_lists);
|
||||
@@ -93,9 +93,9 @@ class Articles
|
||||
return $data;
|
||||
}
|
||||
|
||||
public static function getArticlesWithOffers()
|
||||
public static function getArticlesWithOffers($category_id = false, $tags = false)
|
||||
{
|
||||
return Article::visible()->withAvailableOffers()->with([
|
||||
return Article::byCategory($category_id)->byTags($tags)->visible()->withAvailableOffers()->with([
|
||||
'image',
|
||||
'product',
|
||||
'article_nature',
|
||||
|
||||
Reference in New Issue
Block a user