首页 文章

如何在控制器层中使用get对象

提问于
浏览
3

我在控制器中有一个功能来删除类别及其图像文件 . 但我无法访问路径属性 . 我收到此错误未定义属性:Illuminate \ Database \ Eloquent \ Collection :: $ path . 它正在返回路径,但我无法使用它 .

public function remove($id) {
    //$category = Category::find($id)->delete();

    $category_image = CategoryImage::where('category_id', '=', $id)->get(['path']);

    echo $category_image->path;


    //return back();
}

2 回答

  • 3

    如果只需要一个对象,可以使用first()

    $category_image = CategoryImage::where('category_id', '=', $id)->first();
    
    if (!is_null($category_image)) { // Always check if object exists.
        echo $category_image->path;
    }
    

    当你使用 get() 时,你得到一个collection . 在这种情况下,您可以迭代集合并从每个对象获取数据,或者只使用索引:

    $category_image[0]->path;
    
  • 1

    你得到一个集合,你必须通过这种方式循环集合:

    foreach ($category_image as $image) {
    echo $image->path;
    

    }

相关问题