在 Laravel 5.x 的早期版本中(我不确定它何时更改),我能够create
在任何 Eloquent Model 类上调用静态方法来将记录插入数据库。
例如:
EloquentUser::create([
'name' => self::ADMIN_NAME,
'email' => self::ADMIN_EMAIL,
'password' => bcrypt(self::ADMIN_PASSWORD),
]);
那是public static function create
在Model.php ( vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php
) 中调用的。
public static function create(array $attributes = [])
{
$model = new static($attributes);
$model->save();
return $model;
}
在 Laravel 5.5 中,我仍然可以调用,create
但是Model.php完全重新排列并且不包含此方法。更重要的是,在整个供应商 / Illuminate 中搜索并没有给我任何类似的东西。请解释一下,它是如何工作的,它在幕后调用了什么。
谢谢。