Как получить доступ к свойству объекта внутри контроллера в laravel? - PullRequest
0 голосов
/ 07 июня 2018

Здравствуйте, я хотел знать, как получить доступ и сохранить свойство полученного объекта в контроллере laravel, и вот мой код: -

 $phonebooks = Phonebook::with('client')->get();
    $test = $phonebooks->id;
    return view('admin.phonebooks.index', compact('phonebooks'))->with('current_time',$current_time);

Здесь я хочу сохранить свойство id в $testпеременная, но я получаю эту ошибку: - Property [id] does not exist on this collection instance.

Ответы [ 3 ]

0 голосов
/ 07 июня 2018

$phonebooks = Phonebook::with('client')->get(); Этот возвращаемый экземпляр \Illuminate\Database\Eloquent\Collection.
Для этого случая используйте

foreach ($phonebooks as $phonebook) {
    $test = $phonebook->id;
}

Или вы должны получить только одну запись в дБ, используя

$phonebooks = Phonebook::with('client')->first(); // if need some condition
$test = $phonebook->id;
0 голосов
/ 07 июня 2018

$phonebooks - это переменный тип коллекции, поэтому вы должны получить доступ к каждой телефонной книге с foreach или просто индексом.с foreach:

$i = 0;
foreach($phonebooks as $phonebook){
    $test[$i] = $phonebook->id;
    $i++;
}

или с определенным индексом:

$test = $phonebooks[0]->id;
0 голосов
/ 07 июня 2018

Это коллекция

$users = User::with('posts')->get();

then $userId = $users->id // this will always throw error

вместо этого попробуйте сделать это

foreach($users as $user) {
    dd($user->id);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...