change for description by level of data
This commit is contained in:
@@ -46,9 +46,24 @@ class Articles
|
||||
return self::getSiblings($id)->pluck('id')->toArray();
|
||||
}
|
||||
|
||||
public static function getSiblingsDescriptions($id)
|
||||
{
|
||||
$siblings = self::getSiblings($id);
|
||||
foreach ($siblings as $sibling) {
|
||||
if ($sibling->description && ($sibling->article_nature->name ?? false)) {
|
||||
$data[strtolower($sibling->article_nature->name)] = $sibling->description;
|
||||
}
|
||||
}
|
||||
return $data ?? false;
|
||||
}
|
||||
|
||||
public static function getSiblings($id)
|
||||
{
|
||||
return Article::with('siblings')->find($id)->siblings;
|
||||
return Article::with([
|
||||
'siblings' => function ($query) use ($id) {
|
||||
$query->where('id', '!=', $id);
|
||||
},
|
||||
])->find($id)->siblings;
|
||||
}
|
||||
|
||||
public static function getOffersById($id)
|
||||
@@ -80,7 +95,7 @@ class Articles
|
||||
{
|
||||
$article = self::get($id);
|
||||
$data = $article->toArray();
|
||||
$parents = self::getInheritedByProduct($article->product_id, $article->product_type);
|
||||
// $parents = self::getInheritedByProduct($article->product_id, $article->product_type);
|
||||
$data['description'] = self::getFullDescriptionByArticle($article);
|
||||
$images = self::getFullImagesByArticle($article);
|
||||
$data['image'] = self::getPreviewSrc($images[0] ?? false);
|
||||
@@ -97,23 +112,27 @@ class Articles
|
||||
{
|
||||
switch ($article->product_type) {
|
||||
case 'App\Models\Botanic\Variety':
|
||||
$variety = $article->product;
|
||||
$specie = $variety->specie;
|
||||
$description = $specie->description . $variety->description;
|
||||
$data['variety'] = $article->product->description;
|
||||
if ($article->product->specie->description ?? false) {
|
||||
$data['specie'] = $article->product->specie->description;
|
||||
}
|
||||
break;
|
||||
case 'App\Models\Botanic\Specie':
|
||||
$specie = $article->product;
|
||||
$description = $specie->description;
|
||||
$data['specie'] = $article->product->description;
|
||||
break;
|
||||
case 'App\Models\Shop\Merchandise':
|
||||
$merchandise = $article->product;
|
||||
$description = $merchandise->description;
|
||||
$data['merchandise'] = $article->product->description;
|
||||
break;
|
||||
default:
|
||||
$description = '';
|
||||
}
|
||||
$description .= $article->description;
|
||||
return $description;
|
||||
if ($article->description) {
|
||||
$data[strtolower($article->article_nature->name ?? '')] = $article->description;
|
||||
}
|
||||
$siblings = self::getSiblingsDescriptions($article->id);
|
||||
if ($siblings) {
|
||||
array_push($data, $siblings);
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
public static function getArticle($id)
|
||||
@@ -289,7 +308,7 @@ class Articles
|
||||
];
|
||||
break;
|
||||
}
|
||||
return $data;
|
||||
return $data ?? [];
|
||||
}
|
||||
|
||||
public static function getInheritedByProduct($product_id, $product_type)
|
||||
@@ -409,7 +428,7 @@ class Articles
|
||||
|
||||
public static function get($id)
|
||||
{
|
||||
return Article::find($id);
|
||||
return Article::findOrFail($id);
|
||||
}
|
||||
|
||||
public static function getFullImagesByArticleId($id)
|
||||
|
||||
Reference in New Issue
Block a user