Laravel 错误:尝试获取非对象的属性
我有tableLaravel 错误:尝试获取非对象的属性,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,我有tableAuthors和tableUploads,我只是试图通过Uploads表中的author\u id获取某个作者的所有上传 为此,我的控制器中有一个如下所示的方法: public function author_works() { $uploads= Upload::where('author_id', 3)->first(); return view('author-works')->with('uploads',$uploa
Authors
和tableUploads
,我只是试图通过Uploads
表中的author\u id
获取某个作者的所有上传
为此,我的控制器中有一个如下所示的方法:
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
有人能解释我为什么会出错吗?当您使用
first()
方法时。使用get()
:
first
将只提供一条记录,因此您不能在一条记录中使用循环,而是使用get()
函数谢谢您的回答和指向另一条记录的链接。这有助于:)
#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
]
$uploads = Upload::where('author_id', 3)->get();