我正在开发一个大学项目,我正在尝试选择所有级别与经过身份验证的用户级别相同的项目。我收到错误“试图获取非对象的属性”。我试过在这里查看其他问题,但到目前为止没有运气。提前致谢。
如果您需要我显示更多代码,我可以在此处添加。
控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
// use App\Http\Requests;
use DB;
class Downloadcontroller3 extends Controller
{
//
public function downfunc() {
$downloads=DB::table('lessons')->where('level', auth()->user()->level)->get();
return view('download.viewfile3', compact('downloads'));
}
}
viewfile
<table class="table table-striped">
<thead>
<th> Title </th>
<th> Upload Date & Time </th>
<th> Level </th>
<th> Action </th>
</thead>
<tbody>
@foreach($downloads as $down)
<tr>
<td> {{$down->name}} </td>
<td> {{$down->created_at}} </td>
<td> {{$down->level}} </td>
<td>
<a href="/~B00657229/workspace/COM559/prototype/test/storage/app/public/upload/{{$down->name}}"download="{{$down->name}}">
<button type="button" class="btn btn-primary">
<i class="glyphicon glyphicon-download"> Download </i>
</button>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
答案 0 :(得分:1)
确保您已登录。 用户对象返回null,因为没有用户会话。 如果你正在使用模型,你可以稍微整理一下;
public function downfunc() {
$user = Auth::user();
$downloads = Lesson::where('level', $user->level)->get();
return view('download.viewfile3', compact('downloads'));
}
答案 1 :(得分:0)
需要更多数据。
auth()->user()
可能没有返回用户对象,也许它返回一个空值,或者可能在视图viewfile3
中发生错误,将数据传递给视图会更好:< / p>
return view('greetings', ['name' => 'Victoria']);