$bookings = BookingQuery::create()
->leftJoinWithOrder()
->useOrderQuery()
->leftJoinWithClient()
->endUse()
->leftJoinWithTransaction()
->leftJoinWithUser()
->useUserQuery()
->joinWithProfile()
->endUse()
->innerjoinWithProperty()
->usePropertyQuery()
->leftJoinPropertyManager()
->filterByUser($user)
->_or()
->usePropertyManagerQuery(null, Criteria::LEFT_JOIN)
->filterByUser($user)
->endUse()
->endUse()
->filterByType(Booking::TYPE_SYSTEM, Criteria::NOT_EQUAL)
->filterByStatus([
Booking::STATUS_CLOSED,
Booking::STATUS_CANCELLED,
Booking::STATUS_DEPOSIT,
Booking::STATUS_RECEIPTED
])
->withColumn(
'CASE '.BookingTableMap::COL_STATUS.
' WHEN \''.Booking::STATUS_RECEIPTED.'\' THEN 1'.
' WHEN \''.Booking::STATUS_DEPOSIT.'\' THEN 1'.
' ELSE 2'.
' END'
, 'sort1'
)
->withColumn(
'CASE '.BookingTableMap::COL_STATUS.
' WHEN \''.Booking::STATUS_RECEIPTED.'\' THEN '.BookingTableMap::COL_START_DATE.
' WHEN \''.Booking::STATUS_DEPOSIT.'\' THEN '.BookingTableMap::COL_START_DATE.
' ELSE NOW() - '.BookingTableMap::COL_START_DATE.
' END'
, 'sort2'
)
->orderBy('sort1')
->orderBy('sort2')
;
-
-
Save Big-Shark/999aee1848a5850c1315 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment