Как добавить поле ввода на страницу индекса в Yii2 - PullRequest
0 голосов
/ 13 апреля 2020

Я работаю над проектом в yii2. Мне нужно разместить input field на странице index. Это поле должно быть похоже на поле формы. т.е. тип поля, которое используется в форме при создании записи. Для этого я сделал следующее:

 public function actionIndex()
{
    $model = MdcmetercustRel::className();// this is the class whose data field I want to get
    $searchModel = new MdcmetersdataSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

    return $this->render('index', [
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
        'model' => $model,

    ]);
}

Мой индекс

 <?=

  $form = ActiveForm::begin();
  $relModel=$model->getModels()[0]; print_r($relModel['cust_id']);
   $form->field($relModel, 'cust_id')->textInput()


  ?>

Когда я обновляю sh мою страницу, я получаю

Объект класса yii \ widgets \ ActiveForm не может быть преобразован в строку

Как этого добиться?

Любая помощь будет высоко ценится

1 Ответ

2 голосов
/ 13 апреля 2020

Ваша ошибка <?=, которая пытается вывести весь скрипт, и вы не можете повторить $form или ActiveForm::begin()

изменить его на

<?php 

  $form = ActiveForm::begin();
  $relModel=$model->getModels()[0]; print_r($relModel['cust_id']);
  echo $form->field($relModel, 'cust_id')->textInput()
?>

Также вам нужно измените

$model = MdcmetercustRel::className();

на

$model = new MdcmetercustRel();

, иначе в $model будет не объект, а строка, т.е. пространство имен класса.

...