dev-master
9999999-devyii2 datamanager
MIT
The Requires
by Jakharbek
extension yii2 datamanager
yii2 datamanager
yii2 datamanager, (*1)
The preferred way to install this extension is through composer., (*2)
Either run, (*3)
php composer.phar require --prefer-dist jakharbek/yii2-datamanager "*"
or add, (*4)
"jakharbek/yii2-datamanager": "*"
to the require section of your composer.json
file., (*5)
Для начало успользованеи данного расширение вам нужно будет настроить все связи перед темь как начать работу., (*6)
После в модель которую вы собираетесь использовать применити поведение:, (*7)
jakharbek\datamanager\behaviors\DataModelBehavior
Для примера мы будем использовать модель Постов (Posts) и модель Персон (Persons) и сделаем связь между постами и персонами, (*8)
пример:, (*9)
class Posts{ private $_personsdata; public function behaviors() { return [ 'data_persons_model' => [ 'class' => \jakharbek\datamanager\behaviors\DataModelBehavior::className(), 'attribute' => 'personsdata', 'relation_name' => 'persons', 'relation_model' => new Persons(), ] ]; } public function getPersonsdata(){ return $this->_personsdata; } public function setPersonsdata($value){ return $this->_personsdata = $value; } }
После того вам нужно подключть "действие" для того что расширение могла узнать где искать данные, (*10)
jakharbek\datamanager\actions\Action
свойство, (*11)
/** * @var string имя таблица по который нужно произвести поиск */ public $table = "posts"; /** * @var string имя первичного ключа */ public $primaryColumn = "post_id"; /** * @var string имя поля по которому нужно искать */ public $textColumn = "title"; /** * @var string другие поля который нужно вернуть через пробел как и в SQL */ public $otherColumns = '';
пример, (*12)
class Posts{ public function actions(){ return [ 'getdata' => [ 'class' => 'jakharbek\datamanager\actions\Action', 'table' => 'posts', 'primaryColumn' => 'post_id', 'textColumn' => 'title' ], ]; } }
после того как вы настроили модель вам нужно вывести виджет, (*13)
echo jakharbek\datamanager\widgets\InputWidget::widget([ 'model_db' => $model, 'name' => 'Posts[personsdata]', 'attribute' => 'personsdata', 'attribute_id' => 'person_id', 'attribute_text' => 'title', 'relation_name' => 'persons', 'url' => '/posts/posts/getdata/', ]);
yii2 datamanager
MIT
extension yii2 datamanager