1
當我註冊新用戶時,收銀員的方法可以正常工作以註冊該用戶。舉例來說,我有這個在我的用戶模型:
public static function registerUser()
{
$user = new User;
$stripeToken = Input::get('stripeToken');
$user->subscription('yearly')->create($stripeToken);
$user->save();
}
我也有我的用戶模型中的「重新訂閱」方法是使用類似的收銀員方法:
public static function resubscribe(){
$email = Input::get('email');
$user = DB::table('users')->where('email', '=', $email)->first();
if ($user->everSubscribed()) {
$credentials = Input::only(['email', 'password']);
$stripeToken = Input::get('stripeToken');
$user->subscription('monthly')->resume($stripeToken);
$user->save();
}
}
,我得到以下錯誤: 「調用未定義的方法stdClass :: everSubscribed()」。
如果我刪除的條件,我得到以下錯誤:「FatalErrorException在user.php的行124:調用未定義的方法stdClass的::訂閱()」
如果我更換這行代碼:
$email = Input::get('email');
$user = DB::table('users')->where('email', '=', $email)->first();
與此:
$user = new User;
然後,我沒有錯誤,但當然,我並不想創建一個新的用戶,我想重新訂閱我的老用戶。我在Laravel 4.2中使用幾乎相同的代碼很好地工作。謝謝你的幫助!
謝謝@Ben。 – user3089840