#php #laravel #validation #laravel-5 #eloquent
#php #laravel #проверка #laravel-5 #красноречивый
Вопрос:
Я работаю над Laravel 5.6. У меня есть 4 зависимых уникальных столбца, но я не знаю, как проверить эти зависимые столбцы, вот моя миграция для ограничения уникальности:
$table->unique(array('lvl4','document_type','nature_id','type_id'),'u_coa_lvl4_asn_dnt_uk');
lvl4 — это массив.
Заранее спасибо
Ответ №1:
Вы можете попробовать ручную проверку с помощью чего-то вроде этого:
$data = [
'lvl4' => 'Level 4',
'document_type' => 'Some type',
'nature_id' => 1,
'type_id' => 7,
];
$validator = Validator::make($data, [
'data.lvl4' => [
'required',
Rule::unique('your_table')->where(function ($query) use($data) {
return $query->where('lvl4', $data['lvl4'])
->where('document_type', $data['document_type'])
->where('nature_id', $data['nature_id'])
->where('type_id', $data['type_id']);
}),
],
]);
if($validator->fails()) {
// it fails validation ...
}
Это непроверено, но что-то подобное должно сработать для вас.