如何使用 eloquent 与所有人一对一并获得 laravel

How to use eloquent one to one with all and get laravel

这是我的类别控制器的代码

public function index () {
    $categories = Category::get(['id', 'image_id', 'name','slug', 'is_active'])->all();
    return view('admin_pages.categories.categories', compact('categories'));
}

我想使用 image_id 字段从 categories_images table 获取图像路径。我在类别模型中使用了这样的关系

public function image () {
    return $this->hasOne('App\CategoryImage');
}

在 CategoryImage 模型上我没有指定关系。如何获取类别对象中的图像路径。

提前致谢。

这里不需要使用all()。要加载关系,请使用 with():

$categories = Category::with('image')->get();

要访问图像,您应该遍历类别集合,然后使用 ->image 关系:

$category->image->url;