2017-12-09 12 views
1

テーブルAuthorsとテーブルUploadsがあり、author_idUploadsテーブルのすべてのアップロードを取得しようとしています。エラー:非オブジェクトのプロパティを取得しようとしています

public function author_works() 
    { 

     $uploads= Upload::where('author_id', 3)->first(); 

     return view('author-works')->with('uploads',$uploads); 
    } 

私の見解は以下のとおりです:私は私のコントローラのメソッドは次のように見ている必要があり、その目的のために

@extends('layouts.app') 
@section('content') 
    <h1>Uploads</h1> 
    @if(count($uploads)>0) 
     @foreach($uploads as $upload) 
      <div class="well"> 
       <h3><a href="/uploads/{{$upload->id}}">{{$upload->name}}</a> </h3> 
       <small>Written on {{$upload->created_at}}</small> 

      </div> 
     @endforeach 
     {{-- {{$uploads->links()}}--}} 
    @else 
     <p>No uploads found</p> 
    @endif 

@endsection 

私は次のことを見ていコントローラでdd($uploads);でデバッグ、実際には適切なレコードです:

#attributes: array:9 [▼ 
    "id" => 7 
    "name" => "Fsdf" 
    "description" => "fsdfsdffds" 
    "created_at" => "2017-12-07 21:29:53" 
    "updated_at" => "2017-12-07 21:29:53" 
    "user_id" => 1 
    "avtor_id" => 3 
    ] 
    #original: array:9 [▼ 
    "id" => 7 
    "name" => "Fsdf" 
    "description" => "fsdfsdffds" 
    "created_at" => "2017-12-07 21:29:53" 
    "updated_at" => "2017-12-07 21:29:53" 
    "user_id" => 1 
    "avtor_id" => 3 
    ] 

mエラーが表示されますか?

+0

は 'first'はあなたに1つのレコードだけを与えるので、あなたではなく、一つのレコードでループを使用して解答して、もう一方へのリンクが関数' get()は ' – Webinion

答えて

2

first()メソッドを使用している場合は、you're getting an object instead of collectionです。 get()使用します

$uploads = Upload::where('author_id', 3)->get(); 
+0

感謝を使用することはできません。それは助け:) –

関連する問題