【问题标题】:Laravel Eloquent the same queriesLaravel Eloquent 相同的查询
【发布时间】:2021-12-17 09:30:18
【问题描述】:

我最近在面试中遇到了这个问题。

$a = Flight::find(1); 
$b = Flight:find(1);

将创建多少个对象?将执行多少个数据库查询? 非常感谢您的详细解释

【问题讨论】:

  • Stack Overflow 不是提供免费面试指导的网站。

标签: php laravel oop eloquent


【解决方案1】:

在上述任一代码中,查询将只是 1

$a = Flight::find(1);

相同
select * from `flights` where `flights`.`id` = 1 limit 1`

由于 $a 和 $b 是 2 个不同的变量,尽管它们调用相同的 Eloquent 函数,但查询是不同的。所以上面的代码会产生2个查询。

创建的对象也将是 2。

查看这里了解更多关于 Laravel Eloquent https://laravel.com/docs/8.x/eloquent

【讨论】:

  • 这里没有错字。这有点像技巧问题
  • @Alex 那么有 2 个不同的查询。我将更新我的答案以反映这一点。第一个查询 $a,第二个查询 $b
  • 非常感谢。将创建多少个对象? 2个?
  • @Alex 是的,没错。 2 个不同的对象,尽管从技术上讲数据是相同的。不客气
猜你喜欢
  • 2023-03-10
  • 2019-01-03
  • 2017-10-22
  • 2015-02-13
  • 2015-02-22
  • 2017-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多