За прошедший час я бился головой об стену об этом исключении:
В корневом классе запроса (псевдоним b) должно быть выбрано хотя бы одно поле
в проекте бронирования небольшого школьного отеля - это часть схемы
RoomType:
actAs: [Timestampable]
tableName: room_type
columns:
name: string(100)
number_of_bed: integer
Room:
tableName: room
columns:
id:
type: string(36)
primary: true
room_number: integer
price: decimal
relations:
RoomType:
class: RoomType
local: type_id
foreign: id
RoomBooking:
tableName: roombooking
actAs: [Timestampable]
columns:
id:
type: string(36)
primary: true
room_id: string(36)
checkin_date: date
checkout_date: date
is_cancelled: boolean
relations:
Room:
class: Room
local: room_id
foreign: id
Для простоты и короткого поста я отключил определенное поле. Так что в основном я хотел запросить общее количество, тип номеров, забронированных каждый день определенного месяца. только на 24 часа, так что сейчас я просто смотрю на дату заезда. Вот запрос
$q = Doctrine_Query::create ()
->select("SUM(COUNT(b.id)), b.checkin_date as DATE, t.name")
->from ("Hotel_Model_RoomBooking b" )
->leftJoin("b.Room r")
->leftJoin("r.RoomType t")
->where ("b.checkin_date > ? AND b.checkin_date < ?", array ($first, $last))
->groupBy("b.checkin_date, t.name");
$result = $q->fetchArray ();
b.checkin_date
- это одно поле корневого класса, поэтому у меня есть это и выбрано b.id
, и до сих пор я не могу понять это. Как вы думаете? что я тут не так делаю? спасибо за чтение и заранее спасибо за вашу помощь