Add new search of articles

This commit is contained in:
Ludovic CANDELLIER
2022-02-21 09:09:36 +01:00
parent c75f580ad2
commit 3c3481b39d
4 changed files with 18 additions and 9 deletions

View File

@@ -14,6 +14,8 @@ class ArticleController extends Controller
{ {
$data = self::init(); $data = self::init();
$data['article'] = Articles::getArticleToSell($id); $data['article'] = Articles::getArticleToSell($id);
// dump($data['article']);
// exit;
return view('Shop.Articles.show', $data); return view('Shop.Articles.show', $data);
} }
} }

View File

@@ -39,7 +39,7 @@ class Offer extends Model
public function price_lists() public function price_lists()
{ {
return $this->hasManyThrough(PriceList::class, Tariff::class, 'id', 'tariff_id', 'id', 'id'); return $this->hasManyThrough(PriceList::class, Tariff::class, 'id', 'tariff_id', 'tariff_id', 'id');
} }
public function categories() public function categories()
@@ -64,7 +64,7 @@ class Offer extends Model
public function scopeActive($query) public function scopeActive($query)
{ {
return $query->byStatus(1)->byTariffActive(); return $query->byStatus(1)->HasTariffActive();
} }
public function scopeByArticle($query, $id) public function scopeByArticle($query, $id)
@@ -132,10 +132,18 @@ class Offer extends Model
}); });
} }
public function scopeByTariffActive($query) public function scopeHasTariffActive($query)
{ {
return $query->whereHas('tariff', function ($query) { return $query->whereHas('tariff', function ($query) {
$query->active(); $query->active();
}); });
} }
public function scopeBySaleChannel($query, $sale_channel_id)
{
return $query->whereHas('price_lists', function ($query) use ($sale_channel_id) {
$query->active()->bySaleChannel($sale_channel_id);
});
}
} }

View File

@@ -28,7 +28,6 @@ class Tariff extends Model
public function sale_channels() public function sale_channels()
{ {
// return $this->HasManyThrough(SaleChannel::class, PriceList::class);
return $this->HasManyThrough(SaleChannel::class, PriceList::class, 'id', 'id', 'id', 'sale_channel_id'); return $this->HasManyThrough(SaleChannel::class, PriceList::class, 'id', 'id', 'id', 'sale_channel_id');
} }
@@ -73,10 +72,10 @@ class Tariff extends Model
public function scopeActive($query) public function scopeActive($query)
{ {
return $query->byStatus(0)->byPriceListsActive(); return $query->byStatus(0)->hasPriceListsActive();
} }
public function scopeByPriceListsActive($query) public function scopeHasPriceListsActive($query)
{ {
return $query->whereHas('price_lists', function ($query) { return $query->whereHas('price_lists', function ($query) {
$query->active(); $query->active();

View File

@@ -7,14 +7,14 @@ use App\Models\Shop\Offer;
class Offers class Offers
{ {
public static function getOffersByArticles($articles_id) public static function getOffersByArticles($articles_ids)
{ {
return Offer::active()->with(['article_nature', 'tariff.price_lists.price_list_values', 'variation'])->byArticles($articles_id)->get(); return Offer::active()->with(['article_nature', 'variation', 'tariff.price_lists.price_list_values'])->byArticles($articles_ids)->get();
} }
public static function getOffersByArticle($article_id) public static function getOffersByArticle($article_id)
{ {
return Offer::active()->with('variation')->byArticle($article_id)->get(); return Offer::active()->with(['article_nature', 'variation', 'tariff.price_lists.price_list_values'])->byArticle($article_id)->get();
} }
public static function getThumbSrcById($id) public static function getThumbSrcById($id)