是否可以将以下两个查询合并为一个?
$session_id = DB::table('oauth_access_tokens')->where('id', '=', $access_token)->value('session_id');
$owner_id = DB::table('oauth_sessions')->where('id', '=', $session_id)->value('owner_id');
感谢您的帮助!
答案 0 :(得分:1)
您需要的是子查询:
$query = DB::table('oauth_sessions');
$query->where('oauth_sessions.id', function ($query) use ($access_token) {
$query->from('oauth_access_tokens')
->where('oauth_access_tokens.id', $access_token)
->select('session_id');
});
$owner_id = $query->value('owner_id');
您可以将其全部链接,而不是使用3个单独的语句。我只是格式化它,因为我认为它读得更好。