Files
opensem/app/Repositories/Shop/ArticleAttributes.php
Ludovic CANDELLIER 71e27ce9c3 Fixes on new model
2020-07-26 23:17:49 +02:00

77 lines
1.7 KiB
PHP

<?php
namespace App\Repositories\Shop;
use Yajra\DataTables\DataTables;
use App\Models\Shop\ArticleAttribute;
class ArticleAttributes
{
public static function getDatatable()
{
$model = ArticleAttribute::orderBy('name');
return Datatables::of($model)->make(true);
}
public static function getAll()
{
return ArticleAttribute::orderBy('name','asc')->get();
}
public static function get($id)
{
return ArticleAttribute::find($id);
}
public static function getByArticle($id)
{
return ArticleAttribute::byArticle($id)->get();
}
public static function getByArticleWithPrices($id)
{
return ArticleAttribute::with('prices')->byArticle($id)->get();
}
public static function storeAttributes($article_id, $attributes)
{
foreach ($attributes as $key => $attribute)
{
self::storeAttribute($article_id, $attributes[$key]);
}
}
public static function storeAttribute($article_id, $attribute)
{
$attribute['article_id'] = $article_id;
unset($attribute['attribute_family_id']);
return self::store($attribute);
}
public static function store($data)
{
$id = isset($data['id']) ? $data['id'] : false;
$item = $id ? self::update($data) : self::create($data);
return $item->id;
}
public static function create($data)
{
return ArticleAttribute::create($data);
}
public static function update($data, $id = false)
{
$id = isset($data['id']) ? $id : $data['id'];
return ArticleAttribute::find($id)->update($data);
}
public static function destroy($id)
{
return ArticleAttribute::destroy($id);
}
}