Php laravel存储库查询验证用户记录
嗨,我在laravel中设置了一个存储库,当我自己查询projects表时,例如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
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;
}