Как назвать вторую модель в форме привязки модели laravel? - PullRequest
0 голосов
/ 29 января 2020

Итак, у меня есть эта форма, которая использует привязку модели для отображения значений внутри формы, например:

{!! Form::model($teacher, ['method' => 'PUT', 'route' => ['admin.teachers.update', $teacher->user_id]]) !!}

{!! Form::label('cpf', 'CPF*', ['class' => 'control-label']) !!}
{!! Form::text('cpf', old('cpf'), ['class' => 'form-control') !!}

{!! Form::close() !!}

Дело в том, что модель учителя «принадлежит» модели пользователя, которая хранит имя, Электронная почта и т. Д. c .. а модель Учителя хранит такие поля, как CPF, Телефон, Секс и т. Д. c ..

Я пытаюсь создать форму обновления, но могу отобразить значение только говоря old ('name'), я должен сделать это так, чтобы я мог получить доступ к имени из объекта User

{{ Form::text('name', $teacher->user->name, ['class' => 'form-control']) }}

Проблема в том, что это не работает должным образом, когда я выполняю обновление хотя я не изменил значение в поле электронной почты, оно работает так же, как если бы я изменился, так как я могу это исправить? Я пытался использовать old () с вызовом $ teacher-> user-> name, но это не сработало

{{ Form::text('name', old($teacher->user->name), ['class' => 'form-control') }}

1 Ответ

0 голосов
/ 29 января 2020

Попробуйте это

{{ Form::text('name', old('name')?? $teacher->user->name, ['class' => 'form-control') }}

, он напечатает old значение, если существует, иначе он напечатает $teacher->user->name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...