Optimised Organisation model to prevent it running 4 extra queries per instance

This commit is contained in:
2022-02-10 16:45:10 +00:00
parent 1f0a47b244
commit 97300ab8a5
2 changed files with 1 additions and 47 deletions

View File

@@ -18,27 +18,6 @@ use Illuminate\Database\Eloquent\Builder;
*/
interface OrganisationInterface
{
/**
* Get a count of members within this organisation (includes admins).
*
* @return integer The number of members within the organisation.
*/
public function getMemberCountAttribute();
/**
* Get a count of administrators within this organisation.
*
* @return integer The number of admins within the organisation.
*/
public function getAdminCountAttribute();
/**
* Get a count of members within this organisation (excludes admins).
*
* @return integer The number of members within the organisation.
*/
public function getTotalMemberCountAttribute();
/**
* Delete this organisation from the database, along with any linked objects.
*

View File

@@ -65,8 +65,7 @@ class Organisation extends Model implements OrganisationInterface
* @var array
*/
protected $appends = [
'member_count',
'admin_count'
];
/**
@@ -84,30 +83,6 @@ class Organisation extends Model implements OrganisationInterface
public $timestamps = true;
/**
* Get a count of members within this organisation (includes admins).
*/
public function getMemberCountAttribute()
{
return $this->members()->count();
}
/**
* Get a count of administrators within this organisation.
*/
public function getAdminCountAttribute()
{
return $this->administrators()->count();
}
/**
* Get a count of members within this organisation (excludes admins).
*/
public function getTotalMemberCountAttribute()
{
return $this->members()->count() + $this->administrators()->count();
}
/**
* Get a list of members within this organisation.
*/