Ada*_*dam 0 php laravel laravel-5
可以通过批量分配在Laravel中创建每个模型:
$flight = App\Flight::create(['name' => 'Flight 10']);
Run Code Online (Sandbox Code Playgroud)
在Laravel 5.6中哪里可以找到此方法的代码?
我在课堂上看了一下,Illuminate\Database\Eloquent\Model但是找不到create方法。
我还检查了所有特征(从HasAttributes到GuardsAttributes),但那里也没有找到任何create方法。
由于该类model没有扩展任何其他类,因此create在隐藏该方法的地方我有些困惑。
Eloquent Model使用魔术方法(__call,__ callStatic)将调用传递给Eloquent Builder类。因此,Model :: create()实际上是将调用传递给Builder :: create()方法。
但是,如果您研究该方法,则它基本上与调用相同:
$model = new Model($attributes);
$model->save();
Run Code Online (Sandbox Code Playgroud)
(Query)Builder通过passmix的这种混合使您可以使用诸如 Model::where()