У меня есть база данных, в которой элементы номеров мест хранятся в одном столбце. Как извлечь номера этих мест в формате json из заданных данных, которые отправляются в виде параметров $ tripIdNo, $ fleetRegNo, $ newSeats ...
Я пробовал это, но не удалось
private function checkBooking($tripIdNo = null, $fleetRegNo = null, $newSeats = null)
{
//---------------fleet seats----------------
$fleetSeats = $this->db->select("
total_seat, seat_numbers, fleet_facilities
")->from("fleet_registration")
->where('reg_no', $fleetRegNo)
->get()
->row();
$seatArray = array();
$seatArray = array_map('trim', explode(',', $fleetSeats->seat_numbers));
//-----------------booked seats-------------------
$bookedSeats = $this->db->select("
tb.trip_id_no,
SUM(tb.total_seat) AS booked_seats,
GROUP_CONCAT(tb.seat_numbers SEPARATOR ', ') AS booked_serial
")
->from('tkt_booking AS tb')
->where('tb.trip_id_no', $tripIdNo)
->group_start()
->where("tb.tkt_refund_id IS NULL", null, false)
->or_where("tb.tkt_refund_id", 0)
->or_where("tb.tkt_refund_id", null)
->group_end()
->get()
->row();
$bookArray = array();
$bookArray = array_map('trim', explode(',', $bookedSeats->booked_serial));
//-----------------booked seats-------------------
$newSeatArray = array();
$newSeatArray = array_map('trim', explode(',', $newSeats));
if (sizeof($newSeatArray) > 0) {
foreach ($newSeatArray as $seat) {
if (!empty($seat)) {
if (in_array($seat, $bookArray)) {
return false;
} else if (!in_array($seat, $seatArray)) {
return false;
}
}
}
return true;
} else {
return false;
}
}
Я приложил изображение своей базы данных .. Из этих двух таблиц, которые являются trip_booking и fleet_registration. Любое предложение по этому вопросу.