Laravel对数据透视表值的验证

时间:2016-09-05 17:33:01

标签: php laravel

我在laravel中有一个数据透视表,它有一些额外的数据。

我一直在环顾四周,找不到用于验证数据的机制,而不是自己写一个。但如果已经存在现有的那个,那将重新发明轮子。

我知道如何将laravel验证应用到数据透视表中吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

Laravel的Validator采用字段和规则来检查作为简单关联数组的字段。您 apply 与表单数据完全相同。所以,考虑一下这种逻辑:

$user = App\User::find(1);

foreach ($user->roles as $role) {
    $field = array('rolename' = > $role->pivot->name);
    $rule = array('rolename' => 'required|alpha');

    $validator = Validator::make($field, $rule);

    if ($validator->fails()) {
        // Handle the validation error...
    }
}

我发现这种方法存在两个问题:首先,验证器在循环中运行,如果需要验证大量的数据透视表项,这可能是性能问题。其次,我真的认为你应该在存储它们之前验证之前的数据透视表项

可能有一种方法可以一次获得所有的数据透视表项,没有循环,但我不确定那个。