Ho due array, $user_roles
e $global_roles
. Voglio fare un nuovo array, chiamiamolo $available_roles
, dove può essere equiparato come gli elementi in $global_roles
meno le voci del $user_roles
Unisci due raccolte Eloquent e rimuovi tutti i duplicati.
Ho il seguente codice per farlo ad un allineamento normale. $available_roles = array_unique(array_merge($global_roles, $user_roles), SORT_REGULAR);
Ciò si sta dimostrando problematico a causa del fatto che Laravel non utilizza gli array tradizionali quando si esegue una query, utilizza Raccolte Eloquenti.
Quali altre idee avete ragazzi?
capisco come dovrebbe funzionare, ma non sembra funzionare il modo in cui ho inteso a. Ecco un'immagine di come appaiono le Due Raccolte. (http://i.imgur.com/JGIN5en.png) Se il mio ragionamento è corretto, i ruoli disponibili non dovrebbero essere vuoti perché l'Utente ha già i ruoli assegnati a lui. – Rijnhardt
Ah I see. Non stai provando a * unirli * a tutti. Quello che vuoi è la differenza tra i due. Prova '$ available_roles = $ user_roles-> diff ($ global_roles);' o anche '$ available_roles = $ global_roles-> tranne ($ user_roles-> modelKeys());' – lukasgeiter
Grazie, questo era esattamente ciò di cui avevo bisogno! – Rijnhardt