如何在一个视图YII2中从另一个模型调用另一个DetailView :: widget?

时间:2016-01-06 02:19:18

标签: php yii2

我是yii2的新人。我在DetailView::widget中显示了一个表的数据。

我想为另一个表调用另一个DetailView::widget,然后在同一视图中显示。

1 个答案:

答案 0 :(得分:2)

您可以在同一视图中使用两个DetailView小部件,没有问题。

在控制器中:

use yii\web\NotFoundHttpException;

...

public function actionView($id)
{
    $model1 = $this->findModel($id);
    $model2 = ModelName::find()->where(['id' => ...])->one();
    if (!$model2) {
        throw new NotFoundHttpException('Second model not found');
    }

    return $this->render('view', [
        'model1' => $model1,
        'model2' => $model2,
    ]);
}

在视图中:

<div class="col-md-6">
    <?= DetailView::widget([
        'model' => $model1,
        'attributes' => [
            'name',
        ],
    ]) ?>    
</div>

<div class="col-md-6">
    <?= DetailView::widget([
        'model' => $model2,
        'attributes' => [
            'name',
        ],
    ]) ?>
</div>
关于DetailView小部件的

More信息。