54 lines
1.5 KiB
PHP
54 lines
1.5 KiB
PHP
|
<?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 [];
|
||
|
}
|
||
|
|
||
|
}
|