Files
opensem/app/Repositories/Shop/ArticleInherited.php
2024-01-21 11:42:42 +01:00

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;
}
}