2015-04-14 46 views
1

我指的是Laracasts上Laracook的第16(發佈狀態)課。 我有Laravel 4.2安裝&我得到一個BadMethodCallException拋出消息「調用未定義的方法Illuminate Database Query Builder :: raise()」

BadMethodCallException有消息拋出 「調用未定義的方法照亮\數據庫\查詢\生成器::加薪()」

我Status.php其中方法「養」是存在的:

<?php 

namespace SocialBucket\Statuses; 

use SocialBucket\Statuses\Events\StatusWasPublished; 
class Status extends \Eloquent { 

/* 
* fillable fields for a new status. 
*/ 
protected $fillable = ['body']; 

/* 
* A status belongs to a user. 
*/ 
public function user() 
{ 
    return $this->belongsTo('SocialBucket\Users\User'); 
} 

/** 
* Publish a new status. 
* @param $body 
* @return static 
*/ 
public static function publish($body) 
{ 
    $status = new static(compact('body')); 

    $status->raise(new StatusWasPublished($body)); 

    return $status; 
} 

} 

在PHPStorm這也給了我一個錯誤的

在類static中找不到方法'raise'。

但是,教師Jeffery Way使用相同的方法,我無法確定哪裏出了問題,因爲沒有其他用戶在論壇中遇到同樣的錯誤。

回答

1
  • 您是否安裝了「Laravel Commander」並更新了它的提供程序?
  • 你是否爲事件StatusWasPublished創建了CommandHandler?
  • 您必須添加命名空間use Laracasts\Commander\Events\EventGenerator;
  • 你需要寫use EventGenerator;protected $fillable = ['body'];

Laravel Commander Package

+0

非常感謝您!寫'使用EventGenerator;'訣竅。 –

相關問題