BP_XProfile_Query::get_sql( string $primary_table, string $primary_id_column )

Generates SQL clauses to be appended to a main query.


Description Description


Parameters Parameters

$primary_table

(Required) Database table where the object being filtered is stored (eg wp_users).

$primary_id_column

(Required) ID column for the filtered object in $primary_table.


Top ↑

Return Return

(array) Array containing JOIN and WHERE SQL clauses to append to the main query.

  • 'join'
    (string) SQL fragment to append to the main JOIN clause.
  • 'where'
    (string) SQL fragment to append to the main WHERE clause.


Top ↑

Source Source

File: bp-xprofile/classes/class-bp-xprofile-query.php

319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
public function get_sql( $primary_table, $primary_id_column ) {
 
    $this->primary_table     = $primary_table;
    $this->primary_id_column = $primary_id_column;
 
    $sql = $this->get_sql_clauses();
 
    /*
     * If any JOINs are LEFT JOINs (as in the case of NOT EXISTS), then all JOINs should
     * be LEFT. Otherwise posts with no metadata will be excluded from results.
     */
    if ( false !== strpos( $sql['join'], 'LEFT JOIN' ) ) {
        $sql['join'] = str_replace( 'INNER JOIN', 'LEFT JOIN', $sql['join'] );
    }
 
    return $sql;
}

Top ↑

Changelog Changelog

Changelog
Version Description
2.2.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.