Laravel DB. Как работать с объектами?

Здравствуйте! Подскажите, как работать с объектами, которые возвращает класс DB в Laravel?
Т.е. как, например, получить имя (firstname) у пользователя с ID 1 из объекта, который вернула функция get() ?
<?php

require_once('database.php');

use Illuminate\Database\Capsule\Manager as Capsule;
$result = Capsule::table('user')
    ->where('userid',  1)
    ->get();
print_r($result);

Illuminate\Support\Collection Object ( [items:protected] => Array ( [0] => Array ( [userid] => 1 [login] => raven [password] => 827ccb0eea8a706c4c34a16891f84e7b [phone] => +70000000000 [email] => amil@mail.ru [firstname] => Ivanov [lastname] => Ivan [patronymic] => Ivanovich [role] => admin [sessionid] => 0 ) ) )
  • Вопрос задан
  • 417 просмотров
Решения вопроса 1
@D3lphi
В цикле перебираем элементы коллекции и обращаемся к ним как к объекту:
foreach($result as $item) {
    echo $item->id;
}

Ну, или же, так:
$result[0]->id;

Если вы воспользуетесь методом first() вместо get(), то сможете обращаться к полям так:
$result->id;

Так как в этом случае система будет "уверена" в том, что "вытащила" только одну строку из базы данных.
В документации же этого нет, верно?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@pantagruel964
$user = User::where('userid', 1)->first();
dd($user->firstname);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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