代码之家  ›  专栏  ›  技术社区  ›  mankowitz

laravel验证:唯一的两个字段和数组

  •  0
  • mankowitz  · 技术社区  · 4 年前

    使用laravel验证,我想确保字段是唯一的,但在数组上下文中。(我见过 this this 但它们不处理数组上下文。)

    假设我有这个html:

    <input name="sites[1][id]"><input name="sites[1][site_mrn]">
    <input name="sites[2][id]"><input name="sites[2][site_mrn]">
    <input name="sites[3][id]"><input name="sites[3][site_mrn]">
    

    在我的验证规则中,我想确保每个站点的id都是有效的,并且site_mrn不是空的,所以我有:

    public function rules()
    {
        return [
            'sites.*.site_mrn' => 'required|min:1',
            'sites.*.id' => 'exists:sites,id'
        ];
     }
    

    所以这部分工作。我的问题是,我想确保每一对网站 site_id site_mrn mpi_sites 表,但我不知道如何访问输入中的每个id/site_mrn对。我想做这样的事情:

    'sites.*' => Rule::unique('mpi_sites')->where(function ($q) {
            $q->where('site_id', $xxxxx)->where('site_mrn', $yyyyy);
        })
    
    0 回复  |  直到 4 年前