<ul>
<?php foreach( $availableLangs as $lang ) {
echo '<li>';
echo $lang;
echo '</li>';
}; ?>
</ul>
<?= $form->field($model, 'status_id')->dropDownList($model->statusList); ?>
public static function getStatusList() {
$droptions = Status::find()->asArray()->all();
return Arrayhelper::map($droptions, '_id', 'name');
}
public static function CategoryMenu() { }
$item['items']= [
'label'=>$category['title'],
'url'=>['/site/category', 'id' => $category['id']]
];
/foo/bar в примере выше работает нормально, а вот если поменять переменную на любую - выводит 404.foo - контроллер, bar - экшен контроллера, дальше идут переменные, настраивать надо urlManager в конфиге. some-value-ololo - тоже экшен контроллера foo, выводит 404 потому, что у тебя его нет...
[
'posts'=>'post/list',
'post/<id:\d+>'=>'post/read',
'post/<year:\d{4}>/<title>'=>'post/read',
]
public function actionUpdate() {
PermissionHelpers::requireUpgradeTo("Paid");
}
надо эту конструкцию обернуть в if( PermissionHelpers::requireUpgradeTo("Paid")) { }public function behaviors()
{
return[
'access' => [
'class' => \yii\filters\AccessControl::className(),
'only' => ['index', 'update'],
'rules' => [
'actions' => ['index', 'update'],
'allow' => true,
'roles' => ['@'],
'matchCallback' => function ($rule, $action){
return PermissionHelpers::requireStatus('Active') && PermissionHelpers::requireUpgradeTo("Paid") ;
}
]
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
]
]
];
}
public $table = 'item';
public function up() {
$columns = array(
'id' => 'pk',
'name' => 'string NOT NULL',
'category_id' => 'integer');
$this->createTable($this->table, $columns, 'engine=INNODB');
// Foreign Keys:
$this->addForeignKey('fk_' . $this->table . '_category_id', $this->table, 'category_id', 'item_category', 'id', 'CASCADE', 'CASCADE');
}
таблица item_category должна быть уже создана $model->role_id = new \MongoId("$model->role_id");
, '_id' - тоже должен быть ObjectId или $model->role_id = (int) $model->role_id;
, '_id' - должен быть int.