2016-12-16 5 views
2

カテゴリとそのイメージファイルを削除するコントローラの機能があります。しかし、私はパスプロパティにアクセスすることができません。このエラーが発生します。未定義のプロパティ:\ Database \ Eloquent \ Collection :: $ pathを照らします。それはパスを返すが、私はそれを使用することができません。コントローラlaravelでオブジェクトを取得する方法

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

$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; 
+0

あなたは(のように冗長 かのことを望まなかった場合にも、if文でこれを行うことができます$ category_image){ echo $ category_image-> path; } – Spholt

1

あなたがコレクションthrougループにこの方法を持って、コレクションを取得:

あなただけの1のオブジェクトを取得する必要がある場合は first()を使用することができます
foreach ($category_image as $image) { 
echo $image->path; 

}

関連する問題