orange-shadow / properties
Typed properties from any Model in Laravel
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-11-09 14:24:41 UTC
README
[RU] #Пакет для добавления произвольным моделям, произвольных свойств с Валидацией
-
Шаг 1: Подключаем сервис провайдер app/config/app.php
'orangeShadow\properties\PropertiesServiceProvider'
-
Шаг 2: Прогружаем миграции:
php artisan vendor:publish
,php artisan migrate
-
Шаг 3: Создаем, (предполагается, что модель Page у нас есть)
$property = orangeShadow\CustomModelProperties\Model\Property::create(
[
"model"=>"Page",
"code"=>"VIEWS",
"title"=>"Кол-во просмотров",
"description"=>"Счетчик просмотра страницы",
"type"=>"numeric",
"sort"=>"1",
"multiple"=>false,
"required"=>true
]
);
-
Шаг 4: Добавялем к Моделе Page Trait
use orangeShadow\CustomModelProperties\TraitProperty;
-
Шаг 5: Можем задать по коду свойство или получить его
$page = App\Page::find(1);
//Задать значение свойства по коду
$page->setPropertyValueByCode('VIEWS',1);
//Получить значение свойства по коду
$page->getPropertyValueByCode('VIEWS');
##Вспомогательные методы TraitProperty:
Получить весь список свойств текущей модели
getProperties()
Получить весь список значений свойств текущей модели
getPropertiesValue
Если наследоваться от orangeShadow\CustomModelProperties\Http\Requests
public function rules()
{
$rules = parent::relus();
$rules+=[свои правила];
return $rules;
}
получим валидацию по параметрам properties.code