簡體   English   中英

如何在yii2中從不同的模型創建視圖?

[英]How to create form in view from different model in yii2?

我是yii的新手。 我正在開發客戶項目應用程序。 我有一個視圖,其中iam顯示模型,客戶和項目的數據。

如何創建表單以添加新項目? 我的項目在這里

要在客戶視圖中顯示項目數據,請使用iam

$query=Projects::find()
    ->where(['projects_clients_id'=> $model->customer_id]);    

       $dataProvider = new ActiveDataProvider([
        'query' => $query,        
        'pagination' => [
            'pageSize' => 20,
        ],
    ]);
    echo GridView::widget([
        'dataProvider' => $dataProvider,
    ]);

您可以在視圖中渲染多個模型和/或dataProvider (正確構造)

例如:

    return $this->render('viewTestMulti', [
        'modelOne'                 =>$modelOne,
        'dataProviderTwo'                => $providerTwo,
        'dataProviderThree'      => $providerThree,
        'modeFour'                    => $modelFour,
    ]);

然后你可以使用一個帶有幾個與正確的dataProvider相關的gridView的視圖,並且幾個用適當的動作形成每個人,所以當你按下指定的提交時你調用適當的控制器動作

<?php
    use yii\helpers\Html;
    use yii\widgets\ActiveForm;
?>


<?php $formOne = ActiveForm::begin(); 
      $formOne->action=  yii\helpers\Url::to('ControllerOne\create');
 ?>

<?= $formOne->field($modelOne, 'name') ?>

<?= $formOne->field($modelOne, 'email') ?>

<div class="form-group">
   <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>



<?php $formFour = ActiveForm::begin(); 
   $formFour->action= yii\helpers\Url::to('ControllerFour\create');
?>

<?= $formFour->field($modelFour, 'name_four') ?>

<?= $formFour->field($modelFour, 'email_four') ?>

<div class="form-group">
   <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>

我希望這可能有用

你有關於ActiveForms的所有文檔,我推薦,如果你是Yii2的新用戶,請使用Yii 2.0的權威指南這里是表格部分

這是一個基本形式:

<?php
   use yii\helpers\Html;
   use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin(); ?>

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

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

<div class="form-group">
    <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM