Php Yii2基本显示从另一个模型创建到另一个模型的视图

Php Yii2基本显示从另一个模型创建到另一个模型的视图,php,yii2,yii2-basic-app,Php,Yii2,Yii2 Basic App,我创建了一个名为Channel的CRUD和一个crudpost,所以我想将createpost表单添加到Channel的DetailView中;例如,当用户在Alpha详细信息下查看通道Alpha时,他有一个来自Post的表单,用于在该通道内创建一个Post 用户可以查看频道的详细信息,还可以向该频道添加帖子 类似于: 通道内控制器 public function actionView($id) { $ly_addPost = new Posts(); r

我创建了一个名为Channel的CRUD和一个crudpost,所以我想将createpost表单添加到Channel的DetailView中;例如,当用户在Alpha详细信息下查看通道Alpha时,他有一个来自Post的表单,用于在该通道内创建一个Post

用户可以查看频道的详细信息,还可以向该频道添加帖子

类似于:

通道内控制器

public function actionView($id)
    {
        $ly_addPost = new Posts();
        return $this->render('view', [
            'model' => $this->findModel($id),
            'addpost' => $ly_addPost,
        ]);
    }
在通道视图中,我将其编辑为:

//Yii2代码

<?php

use yii\helpers\Html;
use yii\widgets\DetailView;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model app\models\Channel */

$this->title = $model->Channel_name;
$this->params['breadcrumbs'][] = ['label' => 'Channels', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="channel-view">

    <h1><?= Html::encode($this->title) ?></h1>

    <p>
        <?= Html::a('Update', ['update', 'id' => $model->Channel_id], ['class' => 'btn btn-primary']) ?>
        <?= Html::a('Delete', ['delete', 'id' => $model->Channel_id], [
            'class' => 'btn btn-danger',
            'data' => [
                'confirm' => 'Are you sure you want to delete this item?',
                'method' => 'post',
            ],
        ]) ?>
    </p>
    <div class="col-md-12">
        <?= $this->render ('_form', [
            'addpost' => $ly_addPost,
        ])
        ?>

        <div class="posts-form">

            <?php $form = ActiveForm::begin(); ?>

            <?= $form->field($model, 'Posts_title')->textInput(['maxlength' => true]) ?>

            <?= $form->field($model, 'Posts_text')->textInput(['maxlength' => true]) ?>

            <?= $form->field($model, 'Posts_file')->textInput(['maxlength' => true]) ?>

            <?php //= $form->field($model, 'Posts_crdate')->textInput() ?>

            <?= $form->field($model, 'Channel_id')->textInput(['maxlength' => true]) ?>

            <?= $form->field($model, 'Permissions_id')->textInput() ?>

            <?php //= $form->field($model, 'user_id')->textInput() ?>

            <div class="form-group">
                <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
            </div>

            <?php ActiveForm::end(); ?>

        </div>
    </div>

</div>


但我得到了一个错误:

PHP通知–yii\base\ErrorException


未定义变量:ly_addPost

addPost
更改为
ly_addPost
如下所示

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

只需将视图文件中的
$ly_addPost
更改为
$addPost

<div class="col-md-12">
        <?= $this->render ('_form', [
            'addpost' => $addpost,
        ])
        ?>
...

...