dev-master
9999999-devyii2 datamanager
MIT
The Requires
by Jakharbek
extension yii2 datamanager
Wallogit.com
2017 © Pedro Peláez
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