добавить условие whereNotIn () laravel - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь проверить, является ли бронирование ч / б запросом check_in и датой check_out. в этом случае исключите бронирование с забронированным статусом = 1.


$room->bookings()->where(function ($query) use ($check_in, $check_out, $statusCollect) {
                       $query->where('check_in','<=',$check_out) 
                             ->where('check_out','>=',$check_in)
                       ->whereNotIn('book_status_id', $statusCollect)
 });

, но проблема заключается в том, что этот фильтр запросов находится внутри таблицы. как я могу использовать если заявление в whereNotIn () или есть другой метод.

что мне нужно, если check_in <= $ check_in и $ check_out> = check_out, затем дать мне строку таблицы бронирования, а затем проверить bookstatus, если он пройдет, получить мне строку.

Я надеюсь Я не усложняю :). спасибо

1 Ответ

0 голосов
/ 04 февраля 2020
//controller
//first get data if data get then update the status 
 $data=$room->bookings()->where(function ($query) use ($check_in, $check_out) {
                       $query->where('check_in','<=',$check_out) 
                             ->where('check_out','>=',$check_in)
                       });
if(!empty($data) && $data!=''){
//you can use your table primary id to update the status
$modelObj=new model_name();
$updateArray=$modelObj->updatedById($data->id[
'book_status_id'=>statusCollect
]);
}

//model
function updatedById($id,$statusCollect){
return $this->where('id',$id)->update($statusCollect);
}
...