我正在尝试建立只有一个用户的会话。用户拥有的应用程序反过来又有很多会话。
这是我的查询
$oneTimeSessions = DB::table('online_counselling_applications')
->join('online_counselling_sessions', function ($join) {
$join->on('online_counselling_applications.id', '=', 'online_counselling_sessions.online_counselling_id')
})->groupBy('online_counselling_id')->distinct()->get();
当前我正在获取所有会话,如果有重复,则仅显示一个。如果有重复,我不想显示。有什么想法吗?
答案 0 :(得分:0)
您可以使用havingRaw('count(online_counselling_id)', 1);
功能。
我不确定这个确切的示例是否会起作用,但是请看一下having
或havingRaw
函数。
答案 1 :(得分:0)
您只需要删除分组依据,并且需要添加不重复分组。
$oneTimeSessions = DB::table('online_counselling_applications')
->join('online_counselling_sessions', function ($join) {
$join->on('online_counselling_applications.id', '=', 'online_counselling_sessions.online_counselling_id')
})->distinct('online_counselling_id')->get();
我认为这会对您有所帮助。