Как получить запись из БД с использованием идентификатора, и если нет записи для этого идентификатора, увеличить этот идентификатор и получить запись с использованием увеличенного идентификатора в Laravel, т.е.: я передаю идентификатор 50, если нет записи для идентификатора (50), затем попробуйтедля 51. Если результат не найден для 51, то 52 ...
Я пытался увеличить id как 50 + 1, что не работает для каждого случая.если нет доступного идентификатора, то как отформатировать этот код:
то есть
Просто скажу, что вы четко определите структуру таблицы следующим образом:
id Personid
50 1
51 2
52 null
53 null
54 null
55 null
56 null
57 5
58 6
если я передам идентификатор52 означает, что будет выполняться поиск по идентификатору 52, значение 52 отсутствует, тогда он должен искать следующий идентификатор 53, который также равен нулю ... поэтому для этого нужно использовать идентификатор 57
Код Laravel:
public function getApplicantPopupDetails($id, $start = null) {
$out = [];
$array = [];
$out = $this->initOut();
$PersonId = $id;
$applicant = DB::table('applicants')
->where('applicants.PersonId', '=', $PersonId)
->get(['Name','Address','Surname','country','Address','ContactNo','Email','created_at','imgUrl']);
if($applicant->isEmpty()){
if($start == 0){
$ids = $PersonId - 1;
} else {
$ids = $PersonId + 1;
}
$array['main'] = $applicant;
$this->getApplicantPopupDetails($ids,0);
}
$out['results'] = $array;
return $out;
}
Я ожидал вышеупомянутых результатов без каких-либо проблем.