Как правильно вывести пустой обьект в laravel?

Привет. Начинаю изучать ооп и ларавель.
Хочу выбрать из базы обьект:
$worker_info =  DB::table('workers')->select(  DB::raw('   workers.id as wid, workers.first_name, organizations.name as org_name' ) )
->leftJoin('organizations', 'workers.organization_id', '=', 'organizations.id')
->where('workers.id', $worker_id)
->first();


получаю обьект:
dump($worker_info);
{#194 ▼
  +"wid": 1
  +"first_name": "Петр"
 + "org_name": "Рога и копыта"
}


Вывожу в шаблоне:
{{ $worker_info->wid}}
{{ $worker_info->first_name}}
{{ $worker_info->org_name}}


Проблема начинается когда обьект не найден, $worker_info=null. вывести {{ $worker_info->wid}} не получится, т к у null нет полей wid и first_name.
Можно конечно писать if($worker_info==null) { "Значение отсутствует" },
но вывод информации происходит в разных местах шаблона, поэтому шаблон будет пестрить ifами, либо if будет содержать слишком большой кусок шаблона.

Можно ли как то в контроллере задать пустые значения полям обьекта, т е создать его? т е создать точно такой же обьект? естественно что $worker_info = new Worker создает другой обьект(другие поля, нет инфы об организации)

Хотелось бы просто что бы в шаблоне вывел {{ $worker_info->wid}} и если оно задано то вывелось значение, если не задано вывелось значение по умолчанию или хотя бы пустая строка.

Может весь подход в корне не верен?
  • Вопрос задан
  • 364 просмотра
Решения вопроса 1
@Result007
P|-|P
Привет! Может поможет ссылка
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы