Wallogit.com
2017 © Pedro Peláez
Typed properties from any Model in Laravel
[RU], (*1)
Шаг 1: Подключаем сервис провайдер app/config/app.php
'orangeShadow\properties\PropertiesServiceProvider', (*2)
Шаг 2: Прогружаем миграции:
php artisan vendor:publish, php artisan migrate, (*3)
Шаг 3: Создаем, (предполагается, что модель Page у нас есть), (*4)
$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)
Шаг 5: Можем задать по коду свойство или получить его, (*6)
$page = App\Page::find(1);
//Задать значение свойства по коду
$page->setPropertyValueByCode('VIEWS',1);
//Получить значение свойства по коду
$page->getPropertyValueByCode('VIEWS');
Получить весь список свойств текущей модели
getProperties(), (*7)Получить весь список значений свойств текущей модели
getPropertiesValue, (*8)
Если наследоваться от orangeShadow\CustomModelProperties\Http\Requests, (*9)
public function rules()
{
$rules = parent::relus();
$rules+=[свои правила];
return $rules;
}
получим валидацию по параметрам properties.code, (*10)