doushouxie7064 2014-09-01 21:15
浏览 33
已采纳

laravel存储库查询auth用户记录

Hi I have set up a repository in laravel, when I query the projects table on its own for example return Project::all(); I am returned with all the records in the database. However I wanted to query the logged in users records and only retrieve those records so I am doing this as so return Auth::user()->projects; however when I do this I get the following error in my laravel log:

[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} [] []

My full repository is as follows:

<?php
 namespace Acme\Repositories;

use Project;

class DbProjectRepository implements ProjectRepositoryInterface  {


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


}

Project Controller

public function index()
    {
        $projects = $this->project->getAll();
         echo View::make('projects.index', compact('projects'));
    }

Project View

@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

Does anyone know what I am doing wrong? Would appreciate some guidance.

  • 写回答

1条回答 默认 最新

  • dpmkif3097 2014-09-01 23:05
    关注

    It's because you are using namespace and Auth is not within that namespace, you may just add the Auth in your use statement like:

    namespace Acme\Repositories;
    
    use Project, Auth;
    
    class DbProjectRepository implements ProjectRepositoryInterface  {
    
        public function getAll()
        {
            return Auth::user()->projects;
        }
    }
    

    without use keyword, you may specify the global namespace using \ like:

    public function getAll()
    {
        return \Auth::user()->projects;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作