2017-04-05 85 views
0

Laravel Eloquent的save()方法本質上是做查詢生成器的工作嗎?雄辯和查詢生成器

查詢生成器:

DB::table('flights') 
    ->where('id', 1) 
    ->update(['name' => 'New Flight Name']); 

雄辯:

$flight = App\Flight::find(1); 
$flight->name = 'New Flight Name'; 
$flight->save(); 

如果這是真的,是對口才的create()一樣嗎?我正在觀看Laravel的官方視頻教程,並且我看到作者在控制器內部使用了Eloquent的create()save()。這是查詢生成器和雄辯之間的區別嗎?我們可以使用內部控制器中的雄辯?

回答

0
  • 是,query buildereloquent methods都在做同樣的工作,但是如果使用一般的雄辯模式,你將能夠使用Eloquent relationship這將加快開發進程,使您的生活更輕鬆。事實上,如果您處理數據庫中的大量數據,query builder會更快。

  • savecreate之間的區別在於,save保存接受完整的Eloquent模型實例,而create則接受普通的PHP數組紅色docs