【发布时间】:2014-11-25 02:47:15
【问题描述】:
在 Laravel 中指定存在验证规则时,是否可以引用另一个字段?我想说输入a必须存在于表a中,输入b必须存在于表b中并且表b中列x的值必须等于输入a。
最好的例子解释:
public $rules = array(
'game_id' => 'required|exists:games,id',
'team1_id' => 'required|exists:teams,id,game_id,<game_id input value here>',
'team2_id' => 'required|exists:teams,id,game_id,<game_id input value here>'
);
因此,通过我的验证规则,我希望能够确保:
-
game_id存在于games表中(id字段) -
team1_id存在于teams表(id字段)中,并且game_id列(在teams表中)必须等于game_id输入的值。 - 如上
team2_id
所以,如果在我的表单中,我为game_id 输入了1,我希望能够确保team1_id 和team2_id 的团队表中的记录具有1 的值game_id.
我希望这是有道理的。
谢谢
【问题讨论】:
-
我从 5.3 开始就一直在使用这种格式,它对我有用。我很确定它是有效的,尽管我没有在他们的文档中看到它。 $this->mymodel->create_rules['company_id'] = 'required|exists:companies,id,type_id,' 。 $id;这意味着 company_id 必须存在于自己的表中,并且 type_id 字段必须是 $id 的值。
-
@Jin 非常感谢你我已经测试了你的格式并且它也适用于我(Laravel 7)我认为你的评论比标记的答案要好得多
标签: php validation laravel laravel-4 laravel-validation