77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace kernel\modules\option\service;
 | |
| 
 | |
| use kernel\FormModel;
 | |
| use kernel\modules\option\models\Option;
 | |
| 
 | |
| class OptionService
 | |
| {
 | |
| 
 | |
|     public function create(FormModel $form_model): false|Option
 | |
|     {
 | |
|         $model = new Option();
 | |
|         $model->key = $form_model->getItem('key');
 | |
|         $model->value = $form_model->getItem('value');
 | |
|         $model->label = $form_model->getItem('label');
 | |
|         $model->status = $form_model->getItem('status');
 | |
|         if ($model->save()) {
 | |
|             return $model;
 | |
|         }
 | |
| 
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     public function update(FormModel $form_model, Option $option): false|Option
 | |
|     {
 | |
|         $option->key = $form_model->getItem('key');
 | |
|         $option->value = $form_model->getItem('value');
 | |
|         $option->label = $form_model->getItem('label');
 | |
|         $option->status = $form_model->getItem('status');
 | |
|         if ($option->save()) {
 | |
|             return $option;
 | |
|         }
 | |
| 
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     public function createFromParams(string $key, string $value, string $label): false|Option
 | |
|     {
 | |
|         $model = new Option();
 | |
|         $model->key = $key;
 | |
|         $model->value = $value;
 | |
|         $model->label = $label;
 | |
| 
 | |
|         if ($model->save()) {
 | |
|             return $model;
 | |
|         }
 | |
| 
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @param $key
 | |
|      * @return false|array|string
 | |
|      */
 | |
|     public static function getItem($key): false|array|string
 | |
|     {
 | |
|         $item = Option::where("key", $key)->first();
 | |
|         if ($item){
 | |
|             return getConst($item->value);
 | |
|         }
 | |
| 
 | |
|         return  false;
 | |
|     }
 | |
| 
 | |
| //    public function createOptionArr(): array
 | |
| //    {
 | |
| //        foreach (Option::all()->toArray() as $option) {
 | |
| //            $optionArr[$option['id']] = $option['key'];
 | |
| //        }
 | |
| //        if (!empty($optionArr)) {
 | |
| //            return $optionArr;
 | |
| //        }
 | |
| //        return [];
 | |
| //    }
 | |
| 
 | |
| } |