【问题标题】:Eloquent and Query BuilderEloquent 和查询生成器
【发布时间】:2017-08-31 17:44:39
【问题描述】:

Laravel Eloquent 的 save() 方法本质上是在做 Query Builder 的工作吗?

查询生成器:

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

雄辩:

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

如果是这样,Eloquent 的create() 也是这样吗?我在看Laravel的官方视频教程,看到作者在控制器内部使用了Eloquent的create()save()。这就是查询生成器和 Eloquent 之间的区别吗?我们可以在控制器中使用 Eloquent 吗?

【问题讨论】:

    标签: php laravel


    【解决方案1】:
    • 是的,query buildereloquent methods 正在做同样的工作,但是如果您使用 Eloquent 模型,您将能够使用 Eloquent relationship,这将加快速度加快开发过程,让您的生活更轻松。事实上,如果您处理数据库中的大量数据,query builder 会更快。

    • savecreate 之间的区别在于 save 接受一个完整的 Eloquent 模型实例,而 create 接受一个普通的 PHP 数组红色 docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-13
      • 2015-02-02
      • 2020-07-09
      • 2013-01-25
      • 2015-07-21
      • 1970-01-01
      • 2021-10-14
      • 1970-01-01
      相关资源
      最近更新 更多