Я пытаюсь построить форму для редактирования информации офисов. Эта форма создается с использованием информации, поступающей из двух моделей: Office и Address. Как вы видите на полях изображения, отмеченных 1, относится к адресной модели, поля, отмеченные 2, относятся к офисам
![enter image description here](https://i.stack.imgur.com/7kWmN.png)
Офис имеет один адрес
office.php
public function address()
{
return $this->hasOne('App\Address');
}
Адрес принадлежит офису
address.php
public function office()
{
return $this->belongsTo('App\Office');
}
Теперь, чтобы заполнить представление редактирования, мне нужно связать две модели с формой!
Я пробовал это:
{!! Form::model($element, ['method'=>'PATCH', 'action'=> ['AdminofficeController@update', $element->slug ],'files'=>true]) !!}
{!!Form::label('image', 'Upload a Featured Image') !!}
{!!Form::file('image', null, array('class' => 'form-control'))!!}
...here fields from office model...
{!! Form::label('street', 'Street:', array('class' => 'pt-3'))!!}
{!! Form::text($element->address->street, null, array('class'=>'form-control' )) !!}
... here other fields ...
{!!Form::submit('Edit Büro', array('class' => 'btn btn-success btn-block')) !!}
{!!Form::close() !!}
Но я получаю следующую ошибку:
Свойство [улица] не существует в этом экземпляре коллекции. (Вид: C: \ laragon \ www \ domain \ resources \ views \ dashboard \ bueros \ edit.blade.php)
Эта строка не решает проблему
{!! Form::text($element->address->street, null, array('class'=>'form-control' )) !!}
У меня есть коллекция var_dump te, и действительно, у нее есть свойство улицы, это означает, что отношение работает нормально.
Насколько я знаю, я не могу связать две модели с одной формой (не в HTML)
Как заполнить форму со свойствами из нескольких моделей?
Я бы не хотел создавать две формы: одну для редактирования адреса, а другую для названия офиса.