47 lines
1.0 KiB
PHP
47 lines
1.0 KiB
PHP
<?php
|
|
namespace Modules\Menu\Repositories;
|
|
|
|
use Modules\Menu\Interfaces\MenuInterface;
|
|
use Modules\Menu\Models\Menu;
|
|
|
|
class MenuRepository implements MenuInterface
|
|
{
|
|
public function findAll()
|
|
{
|
|
return Menu::orderBy('order')->get();
|
|
}
|
|
|
|
public function findOne($menuId)
|
|
{
|
|
return Menu::findOrFail($menuId);
|
|
}
|
|
|
|
public function create($menuDetails)
|
|
{
|
|
return Menu::create($menuDetails);
|
|
}
|
|
|
|
public function update($menuId, array $newDetails)
|
|
{
|
|
$menu = Menu::whereId($menuId)->first();
|
|
$menu->update($newDetails);
|
|
return $menu;
|
|
}
|
|
|
|
public function delete($menuId)
|
|
{
|
|
return Menu::destroy($menuId);
|
|
}
|
|
|
|
public function pluck()
|
|
{
|
|
$menus = Menu::where('status', 1)->get();
|
|
|
|
return $menus->mapWithKeys(function ($item) {
|
|
$menuLocation = config('constants.menu_location_options')[$item->menu_location_id];
|
|
return [$item->id => "{$item->title} ({$menuLocation})"];
|
|
});
|
|
}
|
|
|
|
}
|