2015-12-18 83 views
2

我正在尋找一些方法來實現以下事情與yii2顯示主 - 細節視圖。 yii2

讓我們想象我們有以下結構: - rawMaterial表。 - rawMaterialentry表

每個rawMaterial - >有1個或多個條目。

我想要做的是在一個視圖上顯示rawMaterial的細節,並在它下面顯示它所有條目的gridview。換句話說,一個主 - 細節視圖。

我的問題是,在參賽作品的GridView控件,這屬於當前原材料,當我嘗試更新,查看或刪除任何條目就帶我到原材料,而不是給Entry意見

+0

可以顯示模型,視圖和控制器的代碼。 –

+0

不可能提供完整的代碼,我們可以引導你或者給你解決你錯誤的解決方案,所以請儘量讓你的問題更能描述 –

回答

2

您應該簡單地設置controllerActionColumn配置。

應處理此處指定的操作的控制器的ID。如果沒有設置,它將使用當前活動的控制器。

例如, :

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

您必須更改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); 
    } 
] 

]

+0

'entry-controller'不正確,應該是'$ url = Yii :: $ app-> urlManager-> createUrl(['/ entry/update','id'=> $ model-> id]);'。相對於當前控制器,前導斜槓使其成爲一個url ** not ** –

相關問題