Php 如何使用雄辩的一对一和所有人,并得到拉雷维尔
这是我的类别控制器的代码Php 如何使用雄辩的一对一和所有人,并得到拉雷维尔,php,laravel,laravel-5.2,relational-database,one-to-one,Php,Laravel,Laravel 5.2,Relational Database,One To One,这是我的类别控制器的代码 public function index () { $categories = Category::get(['id', 'image_id', 'name','slug', 'is_active'])->all(); return view('admin_pages.categories.categories', compact('categories')); } 我想使用image\u id字段从categories\u images表中获
public function index () {
$categories = Category::get(['id', 'image_id', 'name','slug', 'is_active'])->all();
return view('admin_pages.categories.categories', compact('categories'));
}
我想使用image\u id字段从categories\u images表中获取图像路径。我使用了categories模型中的关系,如下所示
public function image () {
return $this->hasOne('App\CategoryImage');
}
在CategoryImage模型上,我没有指定任何关系。如何获取类别对象中的图像路径
提前感谢。您不需要在此处使用
all()
。要加载关系,请使用:
要访问图像,您应该对类别集合进行Itrate,然后使用->image
关系:
$category->image->url;
谢谢,这很有效。但是,如果我只想返回图像路径,而不是完整的对象,该怎么办呢
code
public function image(){return$this->hasOne('App\CategoryImage');}code
尝试添加select()
likereturn$this->hasOne('App\CategoryImage')->select('image_path')代码>使用Select('path')不会返回任何内容。Path是categories_images表中的一列。但是,如果不使用select,则整行都会返回,包括path。
$category->image->url;