Laravel Eloquent 相同查询

Laravel Eloquent the same queries

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

$a = Flight::find(1); 
$b = Flight:find(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

的更多信息,请参阅此处