Php Yii2基本显示从另一个模型创建到另一个模型的视图
我创建了一个名为Channel的CRUD和一个crudpost,所以我想将createpost表单添加到Channel的DetailView中;例如,当用户在Alpha详细信息下查看通道Alpha时,他有一个来自Post的表单,用于在该通道内创建一个Post 用户可以查看频道的详细信息,还可以向该频道添加帖子 类似于: 通道内控制器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
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,
])
?>
...
...