ho creato tabelle del database users
, groups
, e group_user
(MySQL) .E group_user
tabella (tabella intermedia) contiene la user_id
e role_id
. la relazione tra utenti e gruppi è molti a molti. Voglio eliminare un gruppo nella tabella groups
. Prima di eliminare un gruppo, voglio verificare se c'è qualche utente che appartiene a quel gruppo. Ho provato a farlo in questo modo.Come ottenere i dati da tabella intermedia in eloquenti, selce
Group.php (Modello)
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'];
}
Ma questo non funziona.
Dovresti copiare e incollare il testo dell'errore non un'immagine (incompleta) :-) – mTorres