2016-05-26 3 views
0

Если есть это в мой контроллер Laravel,свободный интерфейс в PHP Laravel QueryBuilder

$employees = DB::table('employeed')->get(); 

это означает, что каждая запись в $ сотрудников будет иметь/унаследовать беглый интерфейс как таблицы метода в DB :: таблицы? Это причина, почему я могу сделать что-то вроде

{{ $employee->name}} 

в пределах для петли $ сотрудников, где каждая запись присваивается $ сотрудника в представлении?

ответ

1

Его потому, что у вас есть массив из stdClass объектов, которые вы итерируете, которые возвращаются из этого запроса БД. Каждый элемент массива будет установлен в качестве $employee, как и итерации цикла, если вы используете foreach петлят следующим образом:

@foreach ($employees as $employee) 
    {{ $employee->name }} 
@endforeach 

Обновления

Ссылки для Query Builder и красноречивого

запроса Builder

Метод get возвращает массив результатов, в котором каждый результат i s - экземпляр объекта PHP StdClass.

Eloquent

Для красноречивых метод, как все и получить которые получить несколько результатов, экземпляр Осветите \ Database \ Eloquent \ Collection будет возвращен. ... Конечно, вы можете просто цикл по этой коллекции, как массив

Laravel Docs - Query Builder - Retrieving Results

Laravel Docs - Eloquent - Retrieving Multiple Models

+0

так как QueryBuilder и красноречивое возвращение StdClass для принесенных записей? –

+1

Если вы используете 'get' с Eloquent, вы получите коллекцию (объект), которая может содержать много экземпляров модели (объектов) или none. – lagbox

Смежные вопросы