當前位置: 首頁>>代碼示例>>PHP>>正文


PHP moodle_database::sql_intersect方法代碼示例

本文整理匯總了PHP中moodle_database::sql_intersect方法的典型用法代碼示例。如果您正苦於以下問題:PHP moodle_database::sql_intersect方法的具體用法?PHP moodle_database::sql_intersect怎麽用?PHP moodle_database::sql_intersect使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在moodle_database的用法示例。


在下文中一共展示了moodle_database::sql_intersect方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: sql_intersect

 /**
  * Returns the SQL that allows to find intersection of two or more queries
  *
  * @since Moodle 2.8
  *
  * @param array $selects array of SQL select queries, each of them only returns fields with the names from $fields
  * @param string $fields comma-separated list of fields
  * @return string SQL query that will return only values that are present in each of selects
  */
 public function sql_intersect($selects, $fields)
 {
     if (count($selects) <= 1) {
         return parent::sql_intersect($selects, $fields);
     }
     $fields = preg_replace('/\\s/', '', $fields);
     static $aliascnt = 0;
     $falias = 'intsctal' . $aliascnt++;
     $rv = "SELECT {$falias}." . preg_replace('/,/', ',' . $falias . '.', $fields) . " FROM ({$selects['0']}) {$falias}";
     for ($i = 1; $i < count($selects); $i++) {
         $alias = 'intsctal' . $aliascnt++;
         $rv .= " JOIN (" . $selects[$i] . ") {$alias} ON " . join(' AND ', array_map(create_function('$a', 'return "' . $falias . '.$a = ' . $alias . '.$a";'), preg_split('/,/', $fields)));
     }
     return $rv;
 }
開發者ID:rushi963,項目名稱:moodle,代碼行數:24,代碼來源:mysqli_native_moodle_database.php


注:本文中的moodle_database::sql_intersect方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。