Свойство исключения [Id] не существует в этом экземпляре коллекции - PullRequest
0 голосов
/ 28 января 2019

Почему я получаю исключение:

Свойство [id] не существует в этом экземпляре коллекции.

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Goods;
use App\Categories;

class CategoriesController extends Controller
{
    public function categoryAction($latin_url){
        $category = Categories::where('latin_url', $latin_url)->get();
        var_dump($category->id); die;
        if ($category){
            $goods = Goods::where('category_id', $category->id)->get(); 
            return view('goods', ['goods' => $goods]);
        }
    }
}

1 Ответ

0 голосов
/ 28 января 2019
$category = Categories::where('latin_url', $latin_url)->get();

Это возвращает вам коллекцию результатов, а не только один результат.Так что нет атрибута id.Используйте:

$category = Categories::where('latin_url', $latin_url)->first();

Приведенный выше пример не работает, когда есть 0 результатов, вместо этого вы можете использовать:

$category = Categories::where('latin_url', $latin_url)->firstOrFail();

, что приведет к ошибке HTTP 404, когда это произойдетне существует

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...