Проблема в том, что вы используете лезвие внутри лезвия:
\/ \/
{{ Form::text('id', {{ request('id') }} , array('class' => 'form-control')) }}
И это, очевидно, не принимается.
Вы должны помнить, что после открытия метки лезвия {{
, лезвие переведет его так:
<?php echo Form::text('id', {{ request('id') }} , array('class' => 'form-control')) ?>
Обратите внимание, что он не работает рекурсивно, поэтому тег второго уровня не будет переведен, и {
является недопустимым символом внутриPHP-код.
Чтобы решить эту проблему, вы не должны (и не должны) использовать метку второго уровня:
{{ Form::text('id', request('id'), array('class' => 'form-control')) }}
Конечно, я предполагаю, что request()
функция существует, в противном случае она выдаст ошибку: Call to undefined function request()
.
Чтобы решить вашу проблему (не ошибку), вы должны использовать метод old()
вместо request()
, так как ониспользует значение, сохраненное Laravel в сеансе.
Обратите внимание, что этот подход работает в двух ситуациях:
- При возникновении ошибки проверки
- Когда вы вручную мигаете поля
Это поведение описано здесь, в Документах Laravel