Add method to get offers by articles with siblings, enhance display

This commit is contained in:
Ludovic CANDELLIER
2022-01-30 22:48:04 +01:00
parent 5e5f12ddb2
commit b4856266c8
11 changed files with 129 additions and 60 deletions

View File

@@ -27,6 +27,35 @@ class Articles
return $export;
}
public static function getOffersGroupedByNature($id)
{
$article_ids = self::getSiblingsIds($id);
$offers = Offers::getOffersByArticles($article_ids);
dump($offers->toArray());
foreach ($offers as $offer) {
$data[$offer->article_nature->name][] = [
'name' => $offer->variation->name,
'tariff' => $offer->tariff,
];
}
return $data;
}
public static function getSiblingsIDs($id)
{
return self::getSiblings($id)->pluck('id')->toArray();
}
public static function getSiblings($id)
{
return Article::with('siblings')->find($id)->siblings;
}
public static function getOffersById($id)
{
return Offers::getOffersByArticle($id);
}
public static function getOptions()
{
return Article::orderBy('name', 'asc')->pluck('name', 'id')->toArray();
@@ -47,6 +76,20 @@ class Articles
return Article::orderBy('name', 'asc')->get();
}
public static function getArticleToSell($id)
{
$article = self::get($id);
$data = $article->toArray();
$data['description'] = (!empty($article->description)) ? $article->description : $article->product->description;
$data['image'] = self::getPreview($article->image);
$data['image_big'] = self::getImage($article->image);
$data['inherited'] = self::getInherited($id);
$data['categories'] = self::getCategoriesNameByArticle($article);
$data['tags'] = self::getTagsSlugByArticle($article);
$data['offers'] = self::getOffersById($id)->toArray();
return $data;
}
public static function getArticle($id)
{
$article = self::get($id);