在laravel 6.0中使用belongsToMany方法时,sql查询是什么样的?
例如,我们数据库中有三个表:users、roles、role_user。
users +----+-------+-----------------+-------------------+----------+----------------+------------+------------+ | id | name | email | email_verified_at | password | remember_token | created_at | updated_at | +----+-------+-----------------+-------------------+----------+----------------+------------+------------+ | 1 | admin | admin@gmail.com | NULL | admin | NULL | NULL | NULL | | 2 | user1 | user1@gmail.com | NULL | user1 | NULL | NULL | NULL | | 3 | user2 | user2@gmail.com | NULL | user2 | NULL | NULL | NULL | +----+-------+-----------------+-------------------+----------+----------------+------------+------------+
roles +----+---------+-------------+------------+------------+ | id | name | description | created_at | updated_at | +----+---------+-------------+------------+------------+ | 1 | admin | NULL | NULL | NULL | | 2 | user | NULL | NULL | NULL | | 3 | editor | NULL | NULL | NULL | | 4 | manager | NULL | NULL | NULL | +----+---------+-------------+------------+------------+
role_user +---------+---------+------------+------------+ | role_id | user_id | created_at | updated_at | +---------+---------+------------+------------+ | 1 | 1 | NULL | NULL | | 2 | 2 | NULL | NULL | | 3 | 3 | NULL | NULL | | 4 | 3 | NULL | NULL | +---------+---------+------------+------------+
Im model User
public function roles()
{
return $this->belongsToMany('App\Role');
}
使用 $this->belongsToMany('App\Role'); 时,sql 查询是什么样子的? laravel 6.0 中的方法?
最佳答案
Laravel
可以轻松地告诉你这一点。
$user->roles()->toSql();
为了获得更全面的体验,您可以记录所有查询。请参阅此 stackoverflow post了解更多。
DB::connection()->enableQueryLog();
$queries = DB::getQueryLog();
关于mysql - 在 laravel 6.0 中使用 BelongsToMany 方法时,sql 查询是什么样子的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57871315/