Files
opensem/app/Repositories/Shop/ArticleAttributes.php
2020-08-03 23:09:26 +02:00

79 lines
1.8 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']) ? $data['id'] : $id;
$item = ArticleAttribute::find($id);
$item->update($data);
return $item;
}
public static function destroy($id)
{
return ArticleAttribute::destroy($id);
}
}