MyClas :: insert($ data)不调用ORM保存事件?

时间:2019-04-02 06:08:59

标签: php laravel-5 eloquent

我们正在尝试通过ORM laravel 5记录对模型所做的更改。

我们使用了一些默认事件来实现相同效果,例如static::saving()static::created()等。

但是当我以下面的方式使用插入时,不会触发任何ORM事件。

工作代码:

$myclass = new MyClass;
$myclass->save($data);

不起作用:

MyClass::insert()

请协助盖茨。

1 个答案:

答案 0 :(得分:1)

如果您使用的是雄辩的ORM,则->save()不接受任何参数。

正确的方法是:

$flight = new Flight;
$flight->name = $request->name;
$flight->save();

如果您使用的是查询生成器,则使用insert(),

DB::table('flights')->insert([
    ['name' => 'Foo', 'emailaddress' => 'abc@abc.com'],
    ['name' => 'Loo', 'emailaddress' => 'test@abc.com']
]);

希望这会有所帮助。