コード例 #1
0
 /**
  *    posts_join_for_orderby
  *    usage:  $SQL .= EEH_Event_Query::posts_join_for_orderby( $orderby_params );
  *
  * @access 	public
  * @param 	string   $SQL
  * @param 	array $orderby_params
  * @return 	string
  */
 public static function posts_join_for_orderby($SQL = '', $orderby_params = array())
 {
     foreach ((array) $orderby_params as $orderby) {
         switch ($orderby) {
             case 'ticket_start':
             case 'ticket_end':
                 $SQL .= EEH_Event_Query::_posts_join_for_datetime($SQL, EEM_Datetime_Ticket::instance()->table() . '.' . EEM_Datetime::instance()->primary_key_name());
                 $SQL .= ' LEFT JOIN ' . EEM_Ticket::instance()->table() . ' ON (' . EEM_Datetime_Ticket::instance()->table() . '.' . EEM_Ticket::instance()->primary_key_name() . ' = ' . EEM_Ticket::instance()->table() . '.' . EEM_Ticket::instance()->primary_key_name() . ' )';
                 break;
             case 'venue_title':
             case 'city':
                 $SQL .= EEH_Event_Query::_posts_join_for_event_venue($SQL);
                 break;
             case 'state':
                 $SQL .= EEH_Event_Query::_posts_join_for_event_venue($SQL);
                 $SQL .= EEH_Event_Query::_posts_join_for_venue_state($SQL);
                 break;
             case 'start_date':
             default:
                 $SQL .= EEH_Event_Query::_posts_join_for_datetime($SQL, EEM_Event::instance()->table() . '.ID');
                 break;
         }
     }
     return $SQL;
 }