Add new version in repository
This commit is contained in:
85
app/Repositories/Shop/Variations.php
Normal file
85
app/Repositories/Shop/Variations.php
Normal file
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repositories\Shop;
|
||||
|
||||
use App\Models\Shop\Variation;
|
||||
|
||||
class Variations
|
||||
{
|
||||
public static function autocomplete($str)
|
||||
{
|
||||
$data = Variation::where('name', 'LIKE', "%${str}%")->orderBy('name')->limit(30)->get()->pluck('name', 'id');
|
||||
$export = [];
|
||||
foreach ($data as $key => $name) {
|
||||
$export[] = ['value' => $key, 'text' => $name];
|
||||
}
|
||||
return $export;
|
||||
}
|
||||
|
||||
public static function getOptions()
|
||||
{
|
||||
$variations = Variation::with(['package','unity'])->get();
|
||||
foreach ($variations as $variation) {
|
||||
$data[$variation->id] = self::getName($variation);
|
||||
}
|
||||
natsort($data);
|
||||
return $data;
|
||||
}
|
||||
|
||||
public static function getNameByID($id)
|
||||
{
|
||||
return self::getName(sef::getFull($id));
|
||||
}
|
||||
|
||||
public static function getName($variation)
|
||||
{
|
||||
return $variation->package->value . ' ' . $variation->quantity . ' ' . $variation->unity->value;
|
||||
}
|
||||
|
||||
public static function buildName($data)
|
||||
{
|
||||
return Packages::getName($data['package_id']) . ' ' . $data['quantity'] . ' ' . Unities::getName($data['unity_id']);
|
||||
}
|
||||
|
||||
public static function getAll()
|
||||
{
|
||||
return Variation::orderBy('value', 'asc')->get();
|
||||
}
|
||||
|
||||
public static function getFull($id)
|
||||
{
|
||||
return Variation::with(['package','unity'])->findOrFail($id);
|
||||
}
|
||||
|
||||
public static function get($id)
|
||||
{
|
||||
return Variation::findOrFail($id);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
$data['name'] = self::buildName($data);
|
||||
return Variation::create($data);
|
||||
}
|
||||
|
||||
public static function update($data, $id = false)
|
||||
{
|
||||
$id = isset($data['id']) ? $data['id'] : false;
|
||||
$variation = self::get($id);
|
||||
$data['name'] = self::buildName($data);
|
||||
$variation->update($data);
|
||||
return $variation;
|
||||
}
|
||||
|
||||
public static function destroy($id)
|
||||
{
|
||||
return Variation::destroy($id);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user