#php #laravel
#php #laravel
Вопрос:
У меня есть значение laravel, которое я могу получить с помощью
{{$patient->dob}}
Я хотел бы использовать это значение в том же php-файле, но с php
@php
$birthDate = {{$patient->dob}};
@endphp
Это выдает мне ошибку.
Я также сделал это
@php
$birthDate = echo "{{$patient->dob}}";
@endphp
Если я удалю фигурные скобки, как показано ниже, я получаю ошибку ‘Неопределенное смещение:’
$birthDate = $patient->dob;
Каков правильный способ сделать это.
Комментарии:
1. нет необходимости использовать фигурные скобки «{ }»
2. Если я удаляю фигурные скобки, я получаю «Неопределенную ошибку смещения»
3. Вам следует избегать помещения логики в блейд-файл! Логика принадлежит контроллеру.
Ответ №1:
Вам нужно повторить переменную.
@php
echo $birthDate = $patient->dob ?? 'No DOB' ;
@endphp
Я знаю, что это неправильный способ работать таким образом в laravel, но я предполагаю, что у вас есть какой-то другой код в теге php.
Комментарии:
1. @MartinMbae: попробуйте
echo $birthDate = $patient->dob ?? 'No DOB' ;
Ответ №2:
Это идеальный способ получить данные из контроллера
{{$patient->dob}}
проверьте, есть ли значение в $patient->dob
, чтобы получить значение, в противном случае дайте null
{{ $patient->dob ?? '' }} // or {{ $patient->dob ?? '-' }}
Ответ №3:
попробуй вот это
{{ $patient->dob ?? '' }}
иногда я тоже пробую это.
@isset($patient)
{{ $patient->dob ?? '' }}
@endisset
Ответ №4:
Во-первых, вы должны проверить, существует ключ объекта «dob» «$patient» или нет.
@php
$birthDate = "";
if($patient->dob != undefined)
{
$birthDate = $patient->dob;
}
@endphp
<p>{{ $birthDate }}</p>