Skip to main content

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

Read more here

WyattCast44/peergoals

6 stars
3 code files
View WyattCast44/peergoals on GitHub

app/Models/Concerns/ManagesPeerships.php

Open in GitHub
use App\Models\User;
use App\Models\Peership;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
 
trait ManagesPeerships
{
public function peersOfThisUser(): BelongsToMany
{
return $this->belongsToMany(User::class, 'peerships', 'first_user_id', 'second_user_id')
->withPivot('status')
->wherePivot('status', 'accepted');
}
//
public function peer_requests(): HasMany
{
return $this->hasMany(Peership::class, 'second_user_id')
->where('status', 'pending');
}
//
}

app/Models/User.php

Open in GitHub
use App\Models\Concerns\ManagesPeerships;
use Illuminate\Foundation\Auth\User as Authenticatable;
 
class User extends Authenticatable
{
//
use ManagesPeerships;
//
}

app/Http/Livewire/Dashboard/Panels/ManagePeerRequestsPanel.php

Open in GitHub
use Livewire\Component;
use Illuminate\Database\Eloquent\Collection;
 
class ManagePeerRequestsPanel extends Component
{
public Collection $requests;
//
public function queryRequests()
{
$this->requests = auth()->user()
->load(['peer_requests', 'peer_requests.sender'])
->peer_requests;
}
//
}

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.