Added organisation information page
This commit is contained in:
@@ -148,19 +148,37 @@ class Organisation extends Model
|
||||
*/
|
||||
public function scopeJoinMemberCounts($query)
|
||||
{
|
||||
$memberCounts = DB::table('organisation_members')
|
||||
->selectRaw('organisation_id, count(*) as member_count')
|
||||
$memberCountsInner = DB::table('organisation_members')
|
||||
->selectRaw('organisation_id, COUNT(*) AS member_count')
|
||||
->groupBy('organisation_id');
|
||||
$memberCounts = DB::table('organisations')
|
||||
->leftJoinSub($memberCountsInner, 'member_counts_inner', function ($join) {
|
||||
$join->on('member_counts_inner.organisation_id', '=', 'organisations.id');
|
||||
})
|
||||
->select('id AS organisation_id')
|
||||
->selectRaw('COALESCE(member_count, 0) AS member_count');
|
||||
|
||||
$adminCounts = DB::table('organisation_members')
|
||||
->selectRaw('organisation_id, count(*) as admin_count')
|
||||
$adminCountsInner = DB::table('organisation_members')
|
||||
->selectRaw('organisation_id, COUNT(*) AS admin_count')
|
||||
->where('flag_admin', true)
|
||||
->groupBy('organisation_id');
|
||||
$adminCounts = DB::table('organisations')
|
||||
->leftJoinSub($adminCountsInner, 'admin_counts_inner', function ($join) {
|
||||
$join->on('admin_counts_inner.organisation_id', '=', 'organisations.id');
|
||||
})
|
||||
->select('id AS organisation_id')
|
||||
->selectRaw('COALESCE(admin_count, 0) AS admin_count');
|
||||
|
||||
$nonAdminCounts = DB::table('organisation_members')
|
||||
->selectRaw('organisation_id, count(*) as non_admin_count')
|
||||
$nonAdminCountsInner = DB::table('organisation_members')
|
||||
->selectRaw('organisation_id, COUNT(*) AS non_admin_count')
|
||||
->where('flag_admin', false)
|
||||
->groupBy('organisation_id');
|
||||
$nonAdminCounts = DB::table('organisations')
|
||||
->leftJoinSub($nonAdminCountsInner, 'non_admin_counts_inner', function ($join) {
|
||||
$join->on('non_admin_counts_inner.organisation_id', '=', 'organisations.id');
|
||||
})
|
||||
->select('id AS organisation_id')
|
||||
->selectRaw('COALESCE(non_admin_count, 0) AS non_admin_count');
|
||||
|
||||
return $query
|
||||
->leftJoinSub($memberCounts, 'member_counts', function ($join) {
|
||||
|
||||
Reference in New Issue
Block a user