66 lines
2.0 KiB
PHP
66 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Repositories\Shop;
|
|
|
|
use App\Models\Shop\Article;
|
|
use App\Repositories\Botanic\Species;
|
|
use App\Repositories\Botanic\Varieties;
|
|
|
|
class ArticleInherited
|
|
{
|
|
public static function getInherited($id)
|
|
{
|
|
$article = Article::with('product.tags.tag_group')->findOrFail($id);
|
|
|
|
return self::getInheritedByProduct($article->product_id, $article->product_type);
|
|
}
|
|
|
|
public static function getInheritedByProduct($product_id, $product_type)
|
|
{
|
|
$data = [];
|
|
switch ($product_type) {
|
|
case 'App\Models\Botanic\Variety':
|
|
$product = Varieties::get($product_id);
|
|
if (! $product) {
|
|
break;
|
|
}
|
|
$data[] = [
|
|
'name' => 'Espèces',
|
|
'description' => Species::getDescription($product->specie_id),
|
|
'tags' => Species::getTags($product->specie_id),
|
|
];
|
|
$data[] = [
|
|
'name' => 'Variétés',
|
|
'description' => $product->description,
|
|
'tags' => $product->tags->toArray(),
|
|
];
|
|
break;
|
|
case 'App\Models\Botanic\Specie':
|
|
$product = Species::get($product_id);
|
|
if (! $product) {
|
|
break;
|
|
}
|
|
$data[] = [
|
|
'name' => 'Espèces',
|
|
'description' => $product->description,
|
|
'tags' => $product->tags->toArray(),
|
|
];
|
|
break;
|
|
case 'App\Models\Shop\Merchandise':
|
|
$product = Merchandises::get($product_id);
|
|
if (! $product) {
|
|
break;
|
|
}
|
|
$data[] = [
|
|
'name' => 'Marchandise',
|
|
'description' => $product->description,
|
|
'tags' => $product->tags->toArray(),
|
|
];
|
|
break;
|
|
default:
|
|
}
|
|
|
|
return $data ?? false;
|
|
}
|
|
}
|