Laravel如何使用唯一的JSON字段类型进行验证?

Laravel如何使用唯一的JSON字段类型进行验证?,laravel,laravel-5,laravel-5.7,laravel-validation,Laravel,Laravel 5,Laravel 5.7,Laravel Validation,我在我的Laravel5.7API和Mariadb10.3上有一个POST端点,我使用postman来测试我的路线,问题就在这里。我想发送一个相同类型对象的数组,如下所示: { "Shops":[ { "name": { "en":"ShopEng", "es":"ShopESP" }, "code": "0891" } ] } 在我的数据库中,我将Shops表和Name字段作为JSON类型 {"en

我在我的Laravel5.7API和Mariadb10.3上有一个POST端点,我使用postman来测试我的路线,问题就在这里。我想发送一个相同类型对象的数组,如下所示:

{  
   "Shops":[  
   {
     "name": {
        "en":"ShopEng",
        "es":"ShopESP"
      },
    "code": "0891"
   }
   ]
}
在我的数据库中,我将Shops表和Name字段作为JSON类型

{"en":"TestEng","es":"TestESP"}
在我的请求中。我也尝试过简单但不实用的方法

public function rules()
    {
        return array(
            'Shops'         => 'required|array',
            'Shops.*.name.en' => 'required|unique:shops,name->en',
            'Shops.*.name.es' => 'required|unique:shops,name->es',
            'Shops.*.code'        => 'required|integer'
        );

    }
带着信息

"message": "Method Illuminate\\Validation\\Validator::validateUnique,shops,name>en does not exist.",
"exception": "BadMethodCallException",
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Validation/Validator.php",
引用数据库表中的一列,将在该列中测试唯一规则,恐怕您在其中编写的语法无效

我的猜测是,您将创建一个用于处理此特定情况的列。

引用数据库表中的一列,在该列中将测试唯一规则,恐怕您在其中编写的语法无效


我的猜测是,您将创建一个用于处理此特定情况的阵列。

您可以提供错误消息吗?您是否正在传递阵列
商店
?因为您使用的是
商店
没有's'@Shaikot,非常感谢。我为你添加了它。我不确定,你能试试name[en]而不是name->en吗?@Shaikot我试过了,但仍然不起作用。带着信息。“消息”:“方法照亮\\验证\\验证程序::validateUnique,shops,名称[en]不存在。”,您能提供错误消息吗?您是否正在传递数组
shops
?因为您使用的是
商店
没有's'@Shaikot,非常感谢。我为你添加了它。我不确定,你能试试name[en]而不是name->en吗?@Shaikot我试过了,但仍然不起作用。带着信息。“消息”:“方法照明\\验证\\验证程序::validateUnique,商店,名称[en]不存在。”,