Laravel 的 Model::belongsTo() 方法背后的真正查询是什么?

What is the real query behind Laravel's Model::belongsTo() method?

例如,让我们看一下 laravel 项目中的这个模型:

<?php
//...

class Post extends Model
{
   //...

   public function user()
   {
      return $this->belongsTo(User::class); // User model is previously defined
   }
}

现在我可以获得特定post的用户(作者)信息:

Post::find(1)->user()->username;

当然laravel必须运行一些数据库查询来获取数据;我想知道这个 belongsTo() 方法背后的查询是什么。

您不能使用 toSql() 方法来检查查询 运行 on laravel illuminate,

$sql = Person::query()->with('user')->find(1)->toSql();
dd($sql);

试试这个

$result=Post::with('user')->find(1);
dd($result);

然后查看响应 属于是指表之间的关系 如果关系是一对一使用 belongsTo 和 hasOne

如果关系是一对多使用 belongsTo 和 hasMany