orange-shadow/properties

Typed properties from any Model in Laravel
13 4
Install
composer require orange-shadow/properties
Latest Version:0.0.1
PHP:>=5.4.0
License:MIT
Last Updated:Apr 28, 2018
Links: GitHub  ·  Packagist
Maintainer: orangeshadow

[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

Related Packages

faulker/laravel5-rackspace-cloudqueue

Rackspace CloudQueue driver for Laravel 5 Queue

13,992 0
nilportugues/laravel5-json-api-dingo

Laravel5 JSONAPI and Dingo together to build APIs fast

1,498 30
lucasromanojf/laravel5-pdf

Provides the HTML2PDF functionality using the wkhtmltopdf library (Laravel 5)

72,553 7
dansmith/laravel5-foundation

Zurb Foundation components for Laravel5

4,614 10