orange-shadow / properties
Typed properties from any Model in Laravel
Installs: 13
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/orange-shadow/properties
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2025-10-09 16:18:09 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