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