Here is my query code:
$apartments = DB::table('apartments')
->when($request->filled('wifi'), function ($query) {
$query->join('apartment_service' , function($join){
$join -> on('apartments.id' , '=' , 'apartment_service.apartment_id')
->where('apartment_service.service_id' , '=' , '1');
});
})
->when($request->filled('pool'), function ($query) {
$query->join('apartment_service' , function($join){
$join -> on('apartments.id' , '=' , 'apartment_service.apartment_id')
->where('apartment_service.service_id' , '=' , '2');
});
})
->when($request->filled('sea'), function ($query) {
$query->join('apartment_service' , function($join){
$join -> on('apartments.id' , '=' , 'apartment_service.apartment_id')
->where('apartment_service.service_id' , '=' , '3');
});
})
->when($request->filled('Terrace'), function ($query) {
$query->join('apartment_service' , function($join){
$join -> on('apartments.id' , '=' , 'apartment_service.apartment_id')
->where('apartment_service.service_id' , '=' , '5');
});
})
->when($request->filled('sauna'), function ($query) {
$query->join('apartment_service' , function($join){
$join -> on('apartments.id' , '=' , 'apartment_service.apartment_id')
->where('apartment_service.service_id' , '=' , '6');
});
})
->get();
return response()-> json($apartments);
where is my mistake with the pivot table?
If I select only one service the query works, but when I select two or more services the query doesn't work.