【发布时间】:2014-04-30 23:58:34
【问题描述】:
根据http://laravel.com/docs/eloquent#model-observers,创建新项目时会触发以下事件。 创建然后创建然后保存然后保存。
但是,当我调用模型类时,事件会以相反的方式被触发。在创建之前调用保存。
我的代码:
class TBone extends Eloquent {
protected $table = 'bone';
protected $primaryKey = 'id';
protected $guarded = array('id');
}
观察者类:
class ObserverLeBone{
public function creating($bone)
{
echo "creating\r\n";
}
public function saving($bone)
{
echo "saving\r\n";
}
public function updating($bone)
{
echo "updating\r\n";
}
}
测试:
class EloquentTest extends TestCase {
public function testObserver()
{
TBone::observe(new ObserverLeBone());
$attributes = array('appreciatedAs' => 'Steak');
TBone::create($attributes);
}
}
运行测试用例时的输出:
saving
creating
所以我只是想知道为什么在创建事件之前会触发保存事件? 还是我错过了什么?
【问题讨论】: