Open spinalwiz opened 2 years ago
This was my initial observation while using this package. I am overcoming this by deleting the friend request when the request is denied.
@spinalwiz Could you please send a PR? If this is a bug, someone else will probably have it else well.
This was my initial observation while using this package. I am overcoming this by deleting the friend request when the request is denied.
What method are you using to delete the requests?
To recreate: Add a friend and then deny that friend request.
Re-add that friend multiple times and you will see multiple entries in the friendship table like this:
Cause: This is because
\Multicaret\Acquaintances\Traits\Friendable::getFriendship()
returns the first() match which will always be the entry withstatus == 'denied'
which means\Multicaret\Acquaintances\Traits\Friendable::canBefriend()
will always return truePotential Fix: In
\Multicaret\Acquaintances\Traits\Friendable::getFriendship()
add an->orderBy('created_at' , 'desc')
(or updated_at) to get the most recent entryOr if the intention is to have no duplicate entries in the friendship table then will need to change
\Multicaret\Acquaintances\Traits\Friendable::befriend()
to an upsert