I have users, orders and plans. When client buy plan, data is save in orders
, plans are in account_plan
and the information for user is in table users
. In table orders
is when the plan start and when it is expired. I use for Select2 ArrayHelper, but do not show the column
here is a query
$masAcc[0] = Yii::t('app', 'Choose plan');
$masAcc['----------------'] =
ArrayHelper::map(
\backend\models\Orders::find()
->select('orders.*,account_planLang.name as name')
->leftJoin('orders_props','`orders_props`.`order_id`= `orders`.`id`')
->leftJoin('account_plan','`orders_props`.`product_id`=`account_plan`.`id`')
->leftJoin('account_planLang','account_plan.id=account_planLang.plan_id')
->where('`orders`.`dt_end`<CURDATE() + INTERVAL 5 DAY AND `orders`.`dt_end`<CURDATE()')
->all(), 'id', 'name');
but the error is :
Getting unknown property: backend\models\Orders::name
here is Select2:
$form->field($model, 'account')->widget(Select2::classname(), [
'model' => $model,
'theme' => 'bootstrap',
'options' => [
'placeholder' => Yii::t('app', 'app.choose'),
'class' => 'form-control select2'
],
'data' => $masAcc,
'pluginOptions' => [
'allowClear' => true,
],
]);
}