Gridview 显示主详细视图。yii2

Gridview 显示主详细视图。yii2,gridview,yii2,Gridview,Yii2,我正在寻找一种方法,用yii2实现以下内容: 假设我们有以下结构:-原材料表。-原材料试验台 每个原材料->有一个或多个条目 我想做的是在视图上显示原材料的详细信息,并在其下显示其所有条目的gridview。换句话说,就是主详细视图 我的问题是,在条目的gridview中,它属于当前的原材料,当我尝试更新、查看或删除任何条目时,它会将我带到原材料,而不是条目视图,您必须更改gridview的ActionButtonColumn,以提供适当的Url。否则GridView将使用当前控制器 [ 'cl

我正在寻找一种方法,用
yii2
实现以下内容:

假设我们有以下结构:-原材料表。-原材料试验台

每个原材料->有一个或多个条目

我想做的是在视图上显示原材料的详细信息,并在其下显示其所有条目的gridview。换句话说,就是主详细视图


我的问题是,在条目的gridview中,它属于当前的原材料,当我尝试更新、查看或删除任何条目时,它会将我带到原材料,而不是条目视图,您必须更改gridview的
ActionButtonColumn
,以提供适当的Url。否则GridView将使用当前控制器

[
'class' => 'yii\grid\ActionColumn',
'template' => '{update}{view}',
'buttons' => [
    'update' => function($url ,$model){
        $url= Yii::$app->urlManager->createAbsoluteUrl(['/entry/update', 'id' => $model->id ]);
        return Html::a('<span class="glyphicon glyphicon-pencil">', $url);
    },
    'view' => function($url ,$model){
        $url= Yii::$app->urlManager->createAbsoluteUrl(['/entry/view', 'id' => $model->id ]);
        return Html::a('<span class="glyphicon glyphicon-eye-open">', $url);
    }
]
[
'class'=>'yii\grid\ActionColumn',
'模板'=>'{update}{view}',
“按钮”=>[
“更新”=>函数($url$model){
$url=Yii::$app->urlManager->createAbsoluteUrl(['/entry/update',id'=>$model->id]);
返回Html::a(“”,$url);
},
“查看”=>函数($url$model){
$url=Yii::$app->urlManager->createAbsoluteUrl(['/entry/view',id'=>$model->id]);
返回Html::a(“”,$url);
}
]
]

您只需在
action列中设置配置即可

应处理此处指定操作的控制器的ID。如果未设置,它将使用当前活动的控制器

e、 g:

[
    'class' => 'yii\grid\ActionColumn',
    'controller' => 'entry',
]

你能显示你的模型、视图和控制器的代码吗?你不可能提供完整的代码,我们可以指导你,或者给你错误的解决方案,所以请尽量让你的问题更易于描述。
入口控制器
不正确,应该是
$url=Yii::$app->urlManager->createUrl(['/entry/update',id'=>$model->id]);
。前导斜杠使其成为与当前控制器无关的url