我有验证类,我试图确保代码列基于 UUID 是唯一的。
class ProjectRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
$uuid = $this->project ?? ' ';
return [
'code' => [
'required', 'min:2',
'max:255', "unique:common_projects,code,{$uuid},uuid"
],
'description' => ['required', 'min:3', 'max:9999'],
'coordinator_id' => ['nullable'],
];
}
}
路线
Route::apiResource('/projects',ProjectController::class);
尝试创建新项目时,我收到以下消息。
“消息”:“SQLSTATE [22P02]:无效的文本表示:7 错误:uuid 类型的输入语法无效:”(SQL:从“common_projects”中选择计数(*)作为聚合,其中“代码”= 测试和“uuid” <> )", "异常": "Illuminate\Database\QueryException",
我正在使用 Postgres 数据库。