Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel存储库查询验证用户记录_Php_Laravel_Repository_Eloquent - Fatal编程技术网

Php laravel存储库查询验证用户记录

Php laravel存储库查询验证用户记录,php,laravel,repository,eloquent,Php,Laravel,Repository,Eloquent,嗨,我在laravel中设置了一个存储库,当我自己查询projects表时,例如return Project::all()返回数据库中的所有记录。然而,我想查询登录的用户记录,只检索那些记录,所以我这样做是因为returnauth::user()->projects但是,当我执行此操作时,我的laravel日志中出现以下错误: [2014-09-01 20:26:44] production.ERROR: exception 'Symfony\Component\Debug\Exception

嗨,我在laravel中设置了一个存储库,当我自己查询projects表时,例如
return Project::all()返回数据库中的所有记录。然而,我想查询登录的用户记录,只检索那些记录,所以我这样做是因为
returnauth::user()->projects但是,当我执行此操作时,我的laravel日志中出现以下错误:

[2014-09-01 20:26:44] production.ERROR: exception 
'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 
'Acme\Repositories\Auth' not 
found' in /media/sf_Sites/tempus/app/Acme/Repositories/DbProjectRepository.php:17
Stack trace:
#0 [internal function]: Illuminate\Exception\Handler->handleShutdown()
#1 {main} [] []
我的完整存储库如下所示:

<?php
 namespace Acme\Repositories;

use Project;

class DbProjectRepository implements ProjectRepositoryInterface  {


    public function getAll()
    {
        return Auth::user()->projects;
    }


}
项目视图

@if (Auth::check())
    @if (count($projects) > 0)
   @foreach ($projects as $project)
{{ $project->project_name }}
 @endforeach 
   @else
      <p>No records, would you like to create some...</p>
@endif
    @endif
@if(Auth::check())
@如果(计数($projects)>0)
@foreach($项目作为$项目)
{{$project->project_name}
@endforeach
@否则
没有记录,是否要创建一些

@恩迪夫 @恩迪夫

有人知道我做错了什么吗?非常感谢您的指导。

这是因为您正在使用
名称空间
,并且
Auth
不在该
名称空间
,您可以在
使用
语句中添加
Auth
,如下所示:

namespace Acme\Repositories;

use Project, Auth;

class DbProjectRepository implements ProjectRepositoryInterface  {

    public function getAll()
    {
        return Auth::user()->projects;
    }
}
如果不使用
use
关键字,您可以使用
\
指定全局
命名空间
,如下所示:

public function getAll()
{
    return \Auth::user()->projects;
}

如果您正在使用Laravel的Auth,可以尝试
\Auth::user()
(在Laravel的核心类之前添加“\”。
public function getAll()
{
    return \Auth::user()->projects;
}