Как мне использовать значение Laravel в тегах PHP

#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>