Как-то так должно вам помочь
Ваш контроллер
$pages = \App\page::all();
foreach ($pages as $page) {
$user = \App\user::find($page->author)->pluck('name');
if(isset($user)){
$page['user_name'] = $user->name;
} else {
$page['user_name'] = 'N/A';
}
}
return view('admin.pages', compact('pages'));
Ваш взгляд
@foreach ($pages as $page)
<tr>
<th>{{ $page->id }}</th>
<th>{{ $page->title }}</th>
<th>{{ $page->user_name) }}</th>
@if($page->status = 'ACTIVE')
<th><span class="label label-success">{{ $page->status }}
</span></th>
@elseif($page->status = 'DRAFT')
<th><span class="label label-warning">{{ $page->status }}
</span></th>
@endif
<th>{{ $page->Actions }}</th>
</tr>
@endforeach
Чем код отличается от вашего текущего кода
1) записывает имя пользователя в основную коллекцию ($ pages), что позволяет вам беспокоиться о циклическом просмотре только одной коллекции в вашем представлении
2) он использует find()
laravel, поскольку у страницы может быть только автор (я предполагаю) (Примечание: find()
работает на основе вашего первичного ключа, в этом случае он будет искать в столбце id, который является наиболее столбец общего первичного ключа)
3) используется pluck()