先说结论:save()是保存单条数据并返回布尔值,create()是批量保存并返回一个集合或model
// 这里是伪代码
function create(Collection $modelCollection){
.
.
.
foreach($modelCollection as $model){
...
$model->save();
..
}
.
.
.
.
}
Laravel会默认有Models/User.php文件,根据文件中use Illuminate\Foundation\Auth\User as Authenticatable;可以知道User是继承自Illuminate\Foundation\Auth\User类Illuminate\Foundation\Auth\User类继承了Illuminate\Database\Eloquent\Model类,此类中包含save()方法,作用就是将模型保存到数据库,并返回一个布尔值
- 再来看看
create()方法 - 在
Models/User.php文件中引入了一个HasFactory类,他是一个 Trait 类,其中的factory方法会返回一个\Illuminate\Database\Eloquent\Factories\Factory类
\Illuminate\Database\Eloquent\Factories\Factory类中有个create()方法,他的作用是创建一个model类型的集合,并保存到数据库中
create()方法通过store()方法批量调用Model::save()方法