2014-01-12 103 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對用戶輸入的密碼進行哈希處理,並將兩者進行比較,如果兩者都未經過哈希處理,則不會記錄用戶的身份。