Ich möchte wissen, ob es möglich ist, für mehrere Werte zu verwenden.Laravel enthält() für mehrere Werte
Zum Beispiel sagen wir, ich habe folgende perms
Tabelle:
TABLE `perms` (
`id` int(11) NOT NULL,
`subject` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`action` varchar(255) COLLATE utf8_unicode_ci NOT NULL
)
Beispiel Reihen:
INSERT INTO `perms` (`id`, `subject`, `action`) VALUES
(1, 'Product', 'Create'),
(2, 'Product', 'Read'),
(3, 'Product', 'Update'),
(4, 'Product', 'Delete');
Meine Benutzer haben eine belongsToMany
Beziehung mit einem users_perms
Tisch, wo ein Benutzer jede haben kann Anzahl der perms
.
Ich möchte überprüfen, ob ein Benutzer eine Dauerwelle hat, die eine subject
UND eine action
enthält. Also, ich möchte überprüfen, ob ein Benutzer die Perm Create
eine Product
hat.
Momentan befindet sich der folgende Code funktioniert, wenn nur die action
Überprüfung:
$action = 'Create';
$user->perms->contains('action', $action); // true if they have ANY Create action perm
Aber ich brauche diese auch zu den subject
zu überprüfen, weil es nicht genug ist, der action
nur zu überprüfen. Also brauche ich etwas wie:
$subject = 'Product';
$action = 'Create';
$user->perms->contains([
['subject', $subject],
['action', $action],
]);
Wie mache ich das?