Skip to main content

Black Friday 2025! Only until December 1st: coupon FRIDAY25 for 40% off Yearly/Lifetime membership!

Read more here

iluminar/goodwork

2227 stars
4 code files
View iluminar/goodwork on GitHub

app/Base/Contracts/HasMembers.php

Open in GitHub
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
 
interface HasMembers
{
public function members(): BelongsToMany;
}

app/Office/Models/Office.php

Open in GitHub
use App\Base\Models\Group;
use App\Base\Contracts\HasMembers;
 
class Office extends Group implements HasMembers
{
//
public function members(): BelongsToMany
{
return $this->belongsToMany(User::class, 'office_user', 'office_id', 'user_id');
}
//
}

app/Project/Models/Project.php

Open in GitHub
use App\Base\Models\Group;
use App\Base\Contracts\HasMembers;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
 
class Project extends Group implements HasMembers
{
//
public function members(): BelongsToMany
{
return $this->belongsToMany(User::class, 'project_user', 'project_id', 'user_id');
}
//
}

app/Team/Models/Team.php

Open in GitHub
use App\Base\Contracts\HasMembers;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
 
class Team extends Group implements HasMembers
{
public function members(): BelongsToMany
{
return $this->belongsToMany(\App\Base\Models\User::class, 'team_user', 'team_id', 'user_id');
}
}

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.