$list = "''"; if (is_array($result) && count($result)) { $list = array(); foreach ($result as $key => $val) { $list[] = $val['st_booking_id']; } $list = implode(',', $list); } return $list; } static function _get_car_cant_order_by_id($car_id, $check_in, $check_out, $order_item_id = '') { if (!TravelHelper::checkTableDuplicate('st_cars')) { return true; } global $wpdb; $string = ""; if (!empty($order_item_id)) { $string = " AND order_item_id NOT IN ('{$order_item_id}') "; } $sql = "SELECT\r\n\t\t\tst_booking_id as car_id,\r\n\t\t\tmt.meta_value as number_car,\r\n\t\t\tmt.meta_value - COUNT(st_booking_id) as car_free\r\n\t\t\tFROM {$wpdb->prefix}st_order_item_meta\r\n\t\t\tINNER JOIN {$wpdb->prefix}postmeta as mt ON mt.post_id = st_booking_id AND mt.meta_key = 'number_car'\r\n\t\t\tWHERE\r\n\t\t\tst_booking_post_type = 'st_cars'\r\n\t\t\tAND status NOT IN ('trash', 'canceled')\r\n\t\t\tAND st_booking_id = '{$car_id}'\r\n\t\t\tAND (\r\n\t\t\t\t({$check_in} < check_in_timestamp AND {$check_out} > check_out_timestamp)\r\n\t\t\t\tOR(\r\n\t\t\t\t{$check_in} BETWEEN check_in_timestamp AND check_out_timestamp\r\n\t\t\t)\r\n\t\t\t\tOR(\r\n\t\t\t\t{$check_out} BETWEEN check_in_timestamp AND check_out_timestamp\r\n\t\t\t)\r\n\t\t\t)\r\n\t\t\t{$string}\r\n\t\t\tGROUP BY st_booking_id\r\n\t\t\tHAVING (mt.meta_value - COUNT(st_booking_id) <= 0)"; $result = $wpdb->get_results($sql, ARRAY_A); if (is_array($result) && count($result)) { return false; } return true; } } $carhelper = new CarHelper(); $carhelper->init(); }