【发布时间】:2014-06-24 13:29:00
【问题描述】:
我有一个不同型号的 Seeder,当我尝试 artisan db:seed 时,其中一个给我以下错误
PHP Fatal error: Call to undefined method Illuminate\Events\Dispatcher::create() in C:\www\site\bootstrap\compiled.php on line 3155
这里是 Event.php,似乎是导致问题的模型:
<?php
class Event extends Eloquent {
protected $fillable = array('name', 'played_on');
protected $table = 'events';
// RELATIONSHIPS ----------------------------
// Event has many Decks
public function decks() {
return $this->belongsToMany('Deck', 'decks_events', 'event_id', 'deck_id');
}
}
注意:我添加了protected $table = 'events' 来尝试查看是否是导致问题的原因,我认为这不是必需的。这是播种机的一部分。 Deck 部分工作正常(事实上,我确实看到了“向某些套牌添加了一些卡片”消息,因为它崩溃了)
// Decks
$deck_1 = Deck::create(array(
'meta' => 'U/W Control',
'player' => 'Cookie Monster'
));
$deck_2 = Deck::create(array(
'meta' => 'RDW',
'player' => 'Suzy Waterbottle'
));
// All 3 cards in Deck 1
$card_1->decks()->attach($deck_1->id);
$card_2->decks()->attach($deck_1->id);
$card_3->decks()->attach($deck_1->id);
// 2 cards in Deck 2
$card_1->decks()->attach($deck_2->id);
$card_2->decks()->attach($deck_2->id);
$this->command->info('Added some cards to some decks');
// Events
$event_1 = Event::create(array(
'name' => 'Super Duper Tourney',
'played_on' => '07/05/2014'
));
$deck_1->events()->attach($event_1->id);
$deck_2->events()->attach($event_1->id);
$this->command->info('Added decks to the event');
这让我相信 $event_1 = Event::create 行上发生了错误,但我无法弄清楚它看起来与 $deck_1... 和 $deck_2... 使用的代码完全一样。
【问题讨论】: