crud menu
This commit is contained in:
54
app/services/MenuService.php
Normal file
54
app/services/MenuService.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace app\services;
|
||||
|
||||
use app\helpers\Debug;
|
||||
use kernel\FormModel;
|
||||
use kernel\models\Menu;
|
||||
|
||||
class MenuService
|
||||
{
|
||||
|
||||
public function create(FormModel $form_model): false|Menu
|
||||
{
|
||||
$model = new Menu();
|
||||
$model->parent_id = $form_model->getItem('parent_id');
|
||||
$model->icon_file = $form_model->getItem('icon_file');
|
||||
$model->icon_font = $form_model->getItem('icon_font');
|
||||
$model->label = $form_model->getItem('label');
|
||||
$model->url = $form_model->getItem('url');
|
||||
$model->status = $form_model->getItem('status');
|
||||
if ($model->save()){
|
||||
return $model;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function update(FormModel $form_model, Menu $menuItem): false|Menu
|
||||
{
|
||||
$menuItem->parent_id = $form_model->getItem('parent_id');
|
||||
$menuItem->icon_file = $form_model->getItem('icon_file');
|
||||
$menuItem->icon_font = $form_model->getItem('icon_font');
|
||||
$menuItem->label = $form_model->getItem('label');
|
||||
$menuItem->url = $form_model->getItem('url');
|
||||
$menuItem->status = $form_model->getItem('status');
|
||||
if ($menuItem->save()){
|
||||
return $menuItem;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static function createLabelArr(): array
|
||||
{
|
||||
foreach (Menu::all()->toArray() as $menuItem) {
|
||||
$labelArr[$menuItem['id']] = $menuItem['label'];
|
||||
}
|
||||
if (!empty($labelArr)) {
|
||||
return $labelArr;
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user