我尝试输出用户发出的所有请求,并将其显示在laravel项目的个人资料页面中,
在我的家庭控制器中我有这个功能
public function profile()
{
$requests = Requests::where('userid', '{{ Auth::user()->userid }}')->get();
return view('profile');
}
并输出以下消息:
E:\ xampp \ htdocs \ test1 \ app \ Http \ Controllers \ HomeController.php第31行中的FatalErrorException: 未找到“App \ Http \ Controllers \ Requests”类
(第31行是上述函数的第一行)
这是我的个人资料.blade.php
@extends('layouts.app')
@section('content')
<div class="container">
<div class="panel panel-default">
<div class="panel-heading"><h1>Profile: {{ Auth::user()->f_name }}</h1></div>
<div class="panel-body">
@foreach ($requests as $requests)
<ul>
<h4>Title: {{$requests->r_title}}</h4>
<h4>Author: {{$requests->r_author}}</h4>
<h4>Year: {{$requests->r_year}}</h4>
<h4>Condition: {{$requests->r_condition}}</h4>
<br/>
</ul>
@endforeach
</div>
</div>
</div>
@endsection
这是app文件夹中的Request.php页面
namespace App;
use Illuminate\Database\Eloquent\Model;
class Requests extends Model
{
protected $primaryKey = 'requestid';
protected $fillable = [
'userid', 'f_name', 'l_name', 'r_title', 'r_year', 'r_author', 'r_condition'
];
}
答案 0 :(得分:0)
您需要通过以下方式将模型包含在控制器中:
use App\Requests;
其他方式是将profile()
方法更改为:
public function profile()
{
$requests = \App\Requests::where('userid', \Auth::user()->id)->get();
return view('profile');
}
接下来,您可以通过以下方式将$requests
传递给视图:
return view('profile', [
'requests' => \App\Requests::where('userid', \Auth::user()->id)->get(),
]);
现在您可以访问刀片文件中的$ requests。 :)
答案 1 :(得分:0)
这样做。同时验证用户表是否具有userid
,因为除非您已更改,否则默认为id
。
public function profile()
{
$requests = \App\Requests::where('userid', auth()->user()->userid)->get();
return view('profile')->with(['requests' => $requests]);
}