[WIP] Fix on prices & attributes

This commit is contained in:
Ludovic CANDELLIER
2020-06-15 00:17:15 +02:00
parent abc1510284
commit 5bd09966b7
6 changed files with 49 additions and 30 deletions

View File

@@ -29,12 +29,17 @@ class ArticleAttributes
{
foreach ($attributes as $key => $attribute)
{
$attributes[$key]['article_price_id'] = $article_price_id;
unset($attributes[$key]['attribute_family_id']);
self::store($attributes[$key]);
self::storeAttribute($article_price_id, $attributes[$key]);
}
}
public static function storeAttribute($article_price_id, $attribute)
{
$attribute['article_price_id'] = $article_price_id;
unset($attribute['attribute_family_id']);
return self::store($attribute);
}
public static function store($data)
{
$id = isset($data['id']) ? $data['id'] : false;

View File

@@ -32,7 +32,7 @@ class ArticlePrices
public static function storePrices($article_id, $prices)
{
if ($prices) {
foreach ($prices as $$key => $price) {
foreach ($prices as $key => $price) {
$prices[$key]['article_id'] = $article_id;
self::store($prices[$key]);
}
@@ -41,11 +41,6 @@ class ArticlePrices
}
}
public static function storeAttributes($article_price_id,$attributes)
{
return ArticleAttributes::storeAttributes($article_price_id, $attributes);
}
public static function store($data)
{
$attributes = isset($data['attributes']) ? $data['attributes'] : false;
@@ -59,6 +54,12 @@ class ArticlePrices
return $price->id;
}
public static function storeAttributes($article_price_id,$attributes)
{
return ArticleAttributes::storeAttribute($article_price_id, $attributes);
}
public static function create($data)
{
return ArticlePrice::create($data);

View File

@@ -60,6 +60,24 @@ class Articles
return Article::find($id);
}
public static function storeFull($data)
{
$images = isset($data['images']) ? $data['images'] : false;
$categories = isset($data['categories']) ? $data['categories'] : false;
$tags = isset($data['tags']) ? $data['tags'] : false;
$prices = isset($data['prices']) ? $data['prices'] : false;
unset($data['images']);
unset($data['categories']);
unset($data['tags']);
unset($data['prices']);
$article = self::store($data);
self::storeImages($article, $images);
self::storeCategories($article, $categories);
self::storeTags($article, $tags);
self::storePrices($article, $prices);
return $article;
}
public static function store($data)
{
$id = isset($data['id']) ? $data['id'] : false;
@@ -86,21 +104,24 @@ class Articles
public static function storeCategories($article, $categories)
{
if ($categories)
{
if ($categories) {
$categories = collect($categories)->transform(function ($item, $key) {
return (int) $item;
})->toArray();
return $article->attachCategories($categories);
} else return false;
return $article->syncCategories($categories, true);
} else {
return false;
}
}
public static function storeTags($article, $tags)
{
if ($tags)
{
return $article->attachTags($tags);
}
if ($tags) {
$tags = collect($tags)->transform(function ($item, $key) {
return (int) $item;
})->toArray();
return $article->syncTags($tags, true);
} else return false;
}
public static function storePrices($article, $prices)