【问题标题】:laravel retrieving specific datalaravel 检索特定数据
【发布时间】:2017-10-17 08:17:41
【问题描述】:

我正在尝试输出用户提出的所有请求并将其显示在 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 行是上面函数的最上面一行)

这是我的 profile.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    

这是应用文件夹中的 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'
];


}

【问题讨论】:

  • HomeController 上有什么代码?可能你错过了导入 Requests 类。
  • 你的文件名需要和类名一致。因此,如果您实际上在名为Request.php 的文件中包含class Requests,则该类将不会包含在您的自动加载器中。如果您仍然遇到问题,请遵循此处其他答案的建议,并确保您正确命名空间并且该类很重要。

标签: laravel


【解决方案1】:

这样做。还要验证用户表是否有userid,因为默认情况下它是id,除非您已更改。

public function profile()
{
    $requests = \App\Requests::where('userid', auth()->user()->userid)->get();

    return view('profile')->with(['requests' => $requests]);
}

【讨论】:

    【解决方案2】:

    您需要通过以下方式将模型包含到控制器中:

    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。 :)

    【讨论】:

      猜你喜欢
      • 2020-04-08
      • 1970-01-01
      • 2017-01-19
      • 2016-06-23
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多