2014-01-12 52 views
0

我正在开发一个应用程序,我想要获取用户的所有打开任务并显示它们。我创建了一个新的视图,路由,控制器和模型,但是我无法让模型正常工作,尤其是因为它涉及获取当前用户的SQL查询ID。model with user id laravel

应用程序/模型/ Task.php

class Task extends Eloquent 
{ 
    public static function open() 
    { 
     $id = Auth::user()->id; 

     $tasks = DB::table('tasks')->where('c', 0)->where('user_id', $id)->get(); 

     return $tasks; 
    } 

} 

而且

应用程序/控制器/ TaskController.php

public function open() 
{ 
    $tasks = Task::open(); 

    return View::make('tasks.open')->with('tasks', $tasks); 
} 

错误:试图让非对象的属性 - 看起来像在$id = Auth::user()->id;

什么是正确的模型?

+0

什么是不正确的,任何错误? – SamV

+0

“试图让非对象的属性”看起来像对“的$ id =验证::用户() - > ID;”在模型中。 –

+0

我只能想到用户没有登录? – SamV

回答

0

看起来像没有登录是问题 - 这种模式的作品。

因为这可能会在未来帮助其他人:当您创建用户的帐户时,将密码添加到数据库时使用Hash :: make,因为当您在登录方法中使用Auth :: attempt时, Laravel对用户输入的密码进行哈希处理,并将两者进行比较,如果两者都未经过哈希处理,则不会记录用户的身份。