У меня есть вид, в котором я использовал GridView
а также DetailView
, В моем контроллере я посылаю модель через ее ID. Таким образом, мой GridView
работает.
Контроллер 1
public function actionViewcreated($id)
{
$model=$this->findModel($id);//the id of created form
/*print_r($model);
exit();*/
$id = $model->id;
$created_by = $model->created_by;
$issuer = $model->issuer;
$store = $model->store_id;
$admin = $model->admin_incharge;
$pm = $model->project_manager;
.....
// my other code
return $this->render('viewcreated', [
'dataProvider' => $dataProvider,
'model' => $this->findModel($id),
'id'=> $model->id
/*'searchModel' => $searchModel*/
]);}
Посмотреть
$this->title = $model->id;
$this->title = 'Outward Gate Pass';
$this->params['breadcrumbs'][] = $this->title;
.
.
.
.
<?= DetailView::widget([
'model' => $model,
'attributes' => [
//'id',
[
'label'=>'OGP Serial #',
'value' => function($d)
{
return $d->id;
}
],
[
'label' => 'Created By',
'value' => function ($d) {
if(is_object($d))
return $d->created->name;
},
/* 'filter' => Html::activeDropDownList($searchModel, 'created_by', \app\models\User::toArrayList(), ['prompt' => "Users", 'class' => 'form-control']),*/
],
'created_at',
[
'label' => 'Store',
'value' => function ($d) {
if(is_object($d))
return $d->store->name;
return ' - ';
},
//'filter' => Html::activeDropDownList($searchModel,'store_id',\app\models\Stores::toArrayList(),['prompt' => "Stores", 'class'=>'form-control']),
],
'status',
[
'label' => 'Issued To',
'value' => function ($d) {
if(is_object($d->user))
return $d->user->username;
return ' - ';
},
//'filter' => Html::activeDropDownList($searchModel, 'issuer', \app\models\User::toArrayList(), ['prompt' => "Users", 'class' => 'form-control']),
],
'admin_incharge',
'project_manager',
],
]) ?>
<br>
<?= GridView::widget([
'dataProvider' => $dataProvider,
/*'filterModel' => $searchModel,*/
'columns' => [
['class' => 'yii\grid\CheckboxColumn'],
'Meter Serial Number',
'Issued To',
'Store',
],
]); ?>
<form>
<p>
<a href="<?= URL::toRoute('ogpheader/viewsetpdf')?>" type="submit" class="btn btn-primary" name="issue_pdf">Set PDF</a>
<br/>
</p>
</form>
Приведенный вид:
Теперь хочу отправить мои оба GridView
а также DetailView
в новый контроллер. За
Новый контроллер
public function actionViewsetpdf($id)
{
$model = $this->findModel($id);
print_r($model);
exit();
}
Здесь я просто хочу увидеть значения в моей модели. Но когда я нажимаю на Set PDF
Кнопка, которую я всегда получаю
Неверный запрос (# 400)
Отсутствуют обязательные параметры: id
Я застрял в этом, поскольку я не знаю, почему он не показывает мне данные.
Любая помощь будет высоко оценен.
Ошибка неверного запроса означает, что вы не передаете параметр GET с именем id
генерация строки вашего запроса должна выглядеть примерно так
<?= URL::toRoute(['ogpheader/viewsetpdf','id'=>$model->id])?>
Других решений пока нет …