我在Laravel 5.7 API和Mariadb 10.3上有一个POST端点,我用邮递员测试了我的路线,这就是问题所在。我想发送一个同类对象的数组,像这样:
{
"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",
答案 0 :(得分:0)
second parameter written in the unique validation rule指向数据库表上的一列,将在该列上测试唯一规则,恐怕您在其中编写的语法无效。
我的猜测是,您将创建一个custom validation rule来处理这种特殊情况。