Привет. Начинаю изучать ооп и ларавель.
Хочу выбрать из базы обьект:
$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}} и если оно задано то вывелось значение, если не задано вывелось значение по умолчанию или хотя бы пустая строка.
Может весь подход в корне не верен?