0
を複数の値に使用できるかどうかを知りたい場合は、Laravelに複数の値が含まれています
たとえば、のは、私は次のようperms
テーブルがあるとしましょう:
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
)
例行:
INSERT INTO `perms` (`id`, `subject`, `action`) VALUES
(1, 'Product', 'Create'),
(2, 'Product', 'Read'),
(3, 'Product', 'Update'),
(4, 'Product', 'Delete');
私のユーザーは、ユーザーがいずれかを有することができるusers_perms
テーブルとbelongsToMany
関係を持っています番号はperms
です。
ユーザーがsubject
とaction
を含むパーマネントを持っているかどうかを確認したいと思います。だから、私はユーザーがCreate
Product
へのパーマを持っているかどうかをチェックしたいと思います。ただaction
チェックするとき
は今、次のコードは動作します:
$action = 'Create';
$user->perms->contains('action', $action); // true if they have ANY Create action perm
をしかし、ちょうどaction
チェックするだけでは十分ではないので、私は、これはあまりにもsubject
をチェックする必要があります。だから私は次のようなものが必要です:
$subject = 'Product';
$action = 'Create';
$user->perms->contains([
['subject', $subject],
['action', $action],
]);
どうすればいいですか?