在dimsav / laravel-translatable中验证具有唯一规则的可翻译字段

时间:2018-01-02 06:08:09

标签: php laravel laravel-5.5

我使用dimsav/laravel-translatable来制作api可翻译的。

我有三个区域设置faenar,并且有一个WarehouseType模型,如下所示:

class WarehouseType extends Model
{
    use \Dimsav\Translatable\Translatable;

    protected $fillable = ['name'];

    public $translatedAttributes = ['title'];    
}

另一方面,我创建了WarehouseTypeTranslation,如下所示:

class WarehouseTypeTranslation extends Model
{
    protected $fillable = ['title'];
    public $timestamps = FALSE;
}

现在我想验证传入的请求。为此我写了FormRequest这样:

public function rules()
{
    switch ($this->method()) {
        case 'POST': {
            return [
                'name'    => 'required|unique:warehouse_types',
                '*.title' => 'required|unique:warehouse_type_translations,title',
            ];
        }
    }
}

如您所见,title字段在数据库中必须是唯一的。但我希望只有fa[title]是唯一的,并在数据库中检查。

根据我写的那些代码,我总是得到这个错误:

{
    "success": false,
    "message": "422 Unprocessable Entity",
    "errors": {
        "name.title": [
            "name.title is required."
        ]
    },
    "status_code": 422
}

0 个答案:

没有答案