/** * Return the Member Tracking for a Corporation * * @param int $corporation_id * * @return \Illuminate\Support\Collection */ public function getCorporationMemberTracking(int $corporation_id) : Collection { return MemberTracking::select('corporation_member_trackings.*', 'account_api_key_info_characters.*', 'eve_api_keys.enabled')->leftJoin('account_api_key_info_characters', function ($join) { $join->on('corporation_member_trackings.characterID', '=', 'account_api_key_info_characters.characterID'); })->leftJoin('eve_api_keys', function ($join) { $join->on('account_api_key_info_characters.keyID', '=', 'eve_api_keys.key_id'); })->where('corporation_member_trackings.corporationID', $corporation_id)->groupBy('corporation_member_trackings.characterID')->get(); }
/** * Return the Member Tracking for a Corporation * * @param $corporation_id * * @return mixed */ public function getCorporationMemberTracking($corporation_id) { return MemberTracking::select('corporation_member_trackings.*', 'eve_api_keys.enabled')->leftJoin('account_api_key_info_characters', 'corporation_member_trackings.characterID', '=', 'account_api_key_info_characters.characterID')->leftJoin('eve_api_keys', 'account_api_key_info_characters.keyID', '=', 'eve_api_keys.key_id')->where('corporation_member_trackings.corporationID', $corporation_id)->groupBy('corporation_member_trackings.characterID')->orderBy('name')->get(); }
/** * Return the Member Tracking for a Corporation * * @param $corporation_id * * @return mixed */ public function getCorporationMemberTracking($corporation_id) { return MemberTracking::select('corporation_member_trackings.*')->selectSub(function ($query) { // Get the key status for the character return $query->from('eve_api_keys')->select('enabled')->join('account_api_key_infos', 'eve_api_keys.key_id', '=', 'account_api_key_infos.keyID')->join('account_api_key_info_characters', 'eve_api_keys.key_id', '=', 'account_api_key_info_characters.keyID')->where('account_api_key_infos.type', '!=', 'Corporation')->where('account_api_key_info_characters.characterID', $query->raw('corporation_member_trackings.characterID'))->groupBy('corporation_member_trackings.characterID'); }, 'enabled')->leftJoin('account_api_key_info_characters', 'corporation_member_trackings.characterID', '=', 'account_api_key_info_characters.characterID')->leftJoin('eve_api_keys', 'account_api_key_info_characters.keyID', '=', 'eve_api_keys.key_id')->where('corporation_member_trackings.corporationID', $corporation_id)->groupBy('corporation_member_trackings.characterID')->orderBy('name')->get(); }