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

Я получаю только один список из моей БД

        $postalls=
        DB::table(users)
        ->select('*')
        ->where('id','=',5)
        ->get();

return View('codo.postview')
                ->with('postalls', $postalls); 

когда я использую ниже на postview.blade.php

{{$postalls[0]->comment}}

Я получил сообщение об ошибке

Trying to get property of non-object

Я знаю, что могу исправить проблему с использованием

 @foreach($postalls as $postall)
   {{$postall->comment}}
 @endforeach

Но я хочу спросить ~

Можно ли использовать функцию foreach для исправления сообщения об ошибке?

Я тоже попробую ниже, но я получил ту же ошибку Могу ли я перенести коллекцию на объект?

  $postalls=
    DB::table(users)
    ->select('*')
    ->where('id','=',5)
    ->get()
    ->first();

{{$postalls->title}}

использовать first () с или без get () дд ($ postalls) Получил тот же результат ~ enter image description here

Мой идентификатор приходит с нажатой кнопки и отправляется на контроллер

   public function postshow($table,$id)
    {

        $postallsold=
        DB::table($table)
        ->select('*')
        ->where('id','=',$id)
        ->get()
        ->first();
      dd($postallsold);

enter image description here

1 Ответ

0 голосов
/ 02 мая 2018

Я думаю, что вы были почти там. Попробуйте использовать first() вместо из get().

DB::table('users')
->select('*')
->where('id', '=', 5)
->first();

Это должно вернуть экземпляр StdClass вместо коллекции.

Если вы по-прежнему получаете ту же ошибку, возможно, что нет записи с идентификатором 5.

...