Columns of Table
- id
- idea_id
- question_id
What I want to do
I want to validate the same idea_id and the same question_id.
For example.
id : 1 idea_id : 1 question_id : 1
id : 2 idea_id : 1 question_id : 2
id : 3 idea_id : 2 question_id : 1
id : 4 idea_id : 1 question_id : 1 ← validation error!! because idea_id = 1 and question_id = 1 record exists!
controller in larave-admin
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new IdeaQuestionAdoption());
$form->select('idea_id', __('Idea id'))
->options(Idea::pluck('body', 'id'))
->rules('required');
$form->select('question_id', __('Question id'))
->options(Question::pluck('title', 'id'))
->rules('required|unique:idea_question_adoptions,idea_id' .
$form->model()->id);
return $form;
}
But. it doesn't work because $form->model()->id
is Null.
How to validate multiple columns unique in laravel-admin?
I failed
'required|unique:idea_question_adoptions,idea_id' . $form->model()->id
I failed override update method.(This function was not working on update)
public function update($id)
{
$data = IdeaQuestionAdoption::find($id);
$validator = Validator::make($data, [
'question_id' => 'required|unique:idea_question_adoptions,idea_id' . $data->id,
]);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput();
}
return $this->form()->update($data->id);
}
How to validate multiple columns unique in laravel-admin?
please help me.