2015-02-15 2 views
1

Возможно, мне не хватает основности, но почему следующий код вызовет ошибку «Плохой запрос» (№ 400), жалующийся на «Отсутствующий идентификатор параметра» при визуализации представления в представлении MySQL?Yii2: Возвращение массива первичных ключей

В модели:

public static function primaryKey() 
{ 
    return [ 
    'vcostumbre_id', 
    'vbibliografia_id', 
    'vpagina_inicial', 
    ]; 
} 

В контроллере:

public function actionView($id) 
{ 
    return $this->render('view', [ 
     'model' => $this->findModel($id), 
    ]); 
} 

Но это будет работать:

public function actionView($vcostumbre_id, $vbibliografia_id, $vpagina_inicial) 
{ 
    $id = [ 
     'vcostumbre_id' => $vcostumbre_id, 
     'vbibliografia_id' => $vbibliografia_id, 
     'vpagina_inicial' => $vpagina_inicial, 
     ]; 
    return $this->render('view', [ 
     'model' => $this->findModel($id), 
    ]); 
} 

ответ

0

Потому что в URL вы не имеют параметр "идентификатор". Это должно быть/mycontroller/вид ID = 42"

Проверьте файл вида где ссылка Это должно быть:.. Url::to(['/controller/view', 'id' => 42])

+0

Я думал, метод ActionView был предыдущий этап, на котором независимо от параметров вид посылает в него он преобразует их в массив, но, похоже, это не так. –

Смежные вопросы