Php codeigniter日历类错误消息

Php codeigniter日历类错误消息,php,sql,codeigniter,calendar,Php,Sql,Codeigniter,Calendar,我使用codeigniter日历类,并尝试显示当前月份的所有预订。在日期所在的字段中,我可能有多个结果,我希望显示它们 但是,我收到以下错误消息: A PHP Error was encountered Severity: Notice Message: Undefined property: stdClass::$reservationID Filename: models/reservationcalendarmodel.php Line Number: 81 A PHP Error wa

我使用codeigniter日历类,并尝试显示当前月份的所有预订。在日期所在的字段中,我可能有多个结果,我希望显示它们

但是,我收到以下错误消息:

A PHP Error was encountered
Severity: Notice
Message: Undefined property: stdClass::$reservationID
Filename: models/reservationcalendarmodel.php
Line Number: 81

A PHP Error was encountered
Severity: Notice
Message: Undefined property: stdClass::$reservationArrivalDate
Filename: models/reservationcalendarmodel.php
Line Number: 81
错误显示10次(我希望数据库中有9条记录)

以下是模型中的(相关)代码:

function getReservations($year,$month) {
    $currentHotelUser = $this->session->userdata('currentHotelUser');
    $query = $this->db->query(
       "SELECT r.*
        FROM room r
        LEFT JOIN (SELECT rr.roomID, re.reservationID,re.reservationArrivalDate 
        FROM reservationroom rr 
        LEFT JOIN reservation re ON re.reservationID = rr.reservationID
        WHERE re.reservationArrivalDate LIKE('".$year."-".$month."-%'))  
        sq ON sq.roomID = r.roomID
        WHERE r.hotelID = ".$currentHotelUser['hotelID']." 
        AND sq.reservationID IS NOT NULL             
    ");

    $cal_data = array();
    foreach($query->result() as $row) {
        // BELLOW IS THE LINE 81 WHERE THE ERROR IS 
        $cal_data[substr($row->reservationArrivalDate,8,2)]= $row->reservationID; 
    }
    return $cal_data;
}    

function generate($year,$month) {
    $cal_data = $this->getReservations($year, $month);
    $this->load->library('calendar', $this->conf);
    return $this->calendar->generate($year,$month,$cal_data);    
} 
以下是来自控制器的(相关)代码:

$this->load->model('ReservationCalendarModel');
$data['calendar'] = $this->ReservationCalendarModel->generate($year,$month);
以下是视图中的(相关)代码:

echo $calendar;

有人知道我为什么会出现上述错误吗?

问题是您查询的结果没有reservationID和reservationArrivalDate。这就是原因,当循环通过时,你会得到这个错误。在主选择查询中添加这两列

"SELECT r.*, sq.roomID, sq.reservationId
        FROM room r
        LEFT JOIN (SELECT rr.roomID, re.reservationID,re.reservationArrivalDate 
        FROM reservationroom rr 
        LEFT JOIN reservation re ON re.reservationID = rr.reservationID
        WHERE re.reservationArrivalDate LIKE('".$year."-".$month."-%'))  
        sq ON sq.roomID = r.roomID
        WHERE r.hotelID = ".$currentHotelUser['hotelID']." 
        AND sq.reservationID IS NOT NULL             
    "

这可能会帮助您:我有以下内容:$autoload['libraries']=array('database','session');在有问题的行之前添加
print\r($row)
。发布结果。2014年仍然有人在使用codeigniter,而且比你想象的还要多。。。