先说结论: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()
方法