Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel验证-如何检查给定数组中是否存在值?_Php_Arrays_Validation_Laravel_Laravel 5.2 - Fatal编程技术网

Php Laravel验证-如何检查给定数组中是否存在值?

Php Laravel验证-如何检查给定数组中是否存在值?,php,arrays,validation,laravel,laravel-5.2,Php,Arrays,Validation,Laravel,Laravel 5.2,所以,好吧,我从验证文档中尝试了很多规则,但都给出了相同的错误 数组到字符串的转换 下面是我添加阵列的方式: $this->validate($request,[ 'employee' => 'required|in:'.$employee->pluck('id')->toArray(), ],[ 'employee.in' => 'employee does not exist

所以,好吧,我从验证文档中尝试了很多规则,但都给出了相同的错误

数组到字符串的转换

下面是我添加阵列的方式:

$this->validate($request,[
                'employee' => 'required|in:'.$employee->pluck('id')->toArray(),
            ],[
                'employee.in' => 'employee does not exists',
            ]);
有没有关于如何实现这一点的提示


我创建了一个自定义验证器,但仍然传递数组似乎是不可能的

将数组内爆为字符串并用逗号连接

'employee' => 'required|in:'.$employee->implode('id', ', '),
这将生成验证程序在比较中进行
时所需的正确逗号分隔字符串

编辑


这仍然有效,但不再是一种滑稽的方式。请参见@nielsiano的答案。

更新:您现在可以使用规则类,而不是按照正确答案中的说明自行内爆值。简单地做:

['someProperty' => ['required', Rule::in(['needed', 'stuff'])]];

正如文档中“验证阵列”一节所述:

这是针对laravel 5的是的,我在标签中也提到了这是一种更干净的方法。这里是它在laravel 8中的文档。