-
Notifications
You must be signed in to change notification settings - Fork 74
Description
Hello,
I would like to request a new feature for the library to include a method that allows querying friendships without filtering by a specific status. The current implementation only allows querying by a specific status, which limits the flexibility of the querying capabilities.
/**
* Get the query builder of the 'friend' model
*
* @param string $groupSlug
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function getFriendsQueryBuilder($groupSlug = '')
{
$friendships = $this->findFriendships(Status::ACCEPTED, $groupSlug)->get(['sender_id', 'recipient_id']);
$recipients = $friendships->pluck('recipient_id')->all();
$senders = $friendships->pluck('sender_id')->all();
return $this->where('id', '!=', $this->getKey())
->whereIn('id', array_merge($recipients, $senders));
}
Proposed Solution:
Here is an example of how the new method can be implemented:
/**
* Get the query builder of the 'friend' model
*
* @param string $status
* @param string $groupSlug
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function getFriendsQueryBuilder(status = Status::ACCEPTED,$groupSlug = '')
{
$friendships = $this->findFriendships($status, $groupSlug)->get(['sender_id', 'recipient_id']);
$recipients = $friendships->pluck('recipient_id')->all();
$senders = $friendships->pluck('sender_id')->all();
return $this->where('id', '!=', $this->getKey())
->whereIn('id', array_merge($recipients, $senders));
}
Activity
mkwsra commentedon Jun 18, 2024
Sounds great, make it as PR and I will accept it immediately, (so you can take the credits :D)
Thanks Shree krishna
AlwaysShreeKrishna commentedon Jun 19, 2024
I have taken PR #111 please review and merge.