I have created users , groups and group_user (MySQL) database tables. And the group_user table (staging table) contains user_id and role_id . there are a lot of users and groups. I want to delete a group in the groups table. Before deleting a group, I want to check if any user belongs to this group. I tried to do it this way.
Group.php (Model)
public function users() { return $this->belongsToMany('\Modules\User\Models\User'); }
Service.php
public function deleteGroup($data) { if (!isset($data['groupID'])) return ['error' => 'Failed to delete group. Group id is required']; $group = Group::find($data['groupID']); if (!$group) return ['error' => 'Failed to delete group. Group not found']; // check any user belongs to group. $result = $group->users()->pivot->user_id; if(!$result){ $group->delete(); return ['success' => 'Successfully delete group.']; } return ['error' => 'Failed to delete group. Group not found']; }
But that will not work.
source share