2014-11-09 99 views
0

位於User模型中的所有Laravel模型函數都拒絕工作。他們都返回Call to undefined method Illuminate\Database\Query\Builder::foo()。如果我在另一個模型中創建一個函數,關係和一切工作。我不確定我做錯了什麼。這是我的整個User.php文件。Laravel用戶模型

<?php 

use Illuminate\Auth\UserTrait; 
use Illuminate\Auth\UserInterface; 
use Illuminate\Auth\Reminders\RemindableTrait; 
use Illuminate\Auth\Reminders\RemindableInterface; 

class User extends Eloquent implements UserInterface, RemindableInterface { 

    public function seminar() 
    { 
     return $this->hasMany('Seminar'); 
    } 

    use UserTrait, RemindableTrait; 

    /** 
    * The database table used by the model. 
    * 
    * @var string 
    */ 
    protected $table = 'users'; 

    /** 
    * The attributes excluded from the model's JSON form. 
    * 
    * @var array 
    */ 
    protected $hidden = array('password', 'remember_token'); 

} 

這裏是在同一個項目

<?php 

class Seminar extends Eloquent { 

    protected $table = 'seminar'; 


    public function user() 
    { 
     return $this->belongsTo('User', 'user_id'); 
    } 
} 

另一種模式,我還使用哨兵Cartalyst包

+0

你的'foo'函數在哪裏?如果您有疑問,請告訴您究竟做了什麼以及您爲此特定代碼獲得的錯誤。 – 2014-11-09 10:20:45

+2

這個錯誤幾乎肯定意味着你試圖在QueryBuilder對象上調用'foo'而不是你的模型。這可能是由於在查詢結束時不調用' - > get()'(或另一個執行語句的函數)。如果不是讓我們看看你的「富」功能以及你如何稱呼它。 – lukasgeiter 2014-11-09 11:51:24

回答

1

我終於明白什麼是錯誤的例子。我有一個具有相同類名(用戶)的遷移,並搞砸了用戶模型。