当前位置: 首页>>代码示例>>PHP>>正文


PHP QueryBuilder::addLeftJoin方法代码示例

本文整理汇总了PHP中QueryBuilder::addLeftJoin方法的典型用法代码示例。如果您正苦于以下问题:PHP QueryBuilder::addLeftJoin方法的具体用法?PHP QueryBuilder::addLeftJoin怎么用?PHP QueryBuilder::addLeftJoin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在QueryBuilder的用法示例。


在下文中一共展示了QueryBuilder::addLeftJoin方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: findAll

 public function findAll($qbuilder)
 {
     if (UserSession::getInstance()->getAccessLevel() < 3) {
         die("<h1>Forbidden resource for you.</h1>");
     }
     @($dao = new DAO(Test));
     if (!isset($qbuilder)) {
         $qbuilder = new QueryBuilder('test');
         $qbuilder->addOrder("dsc_code", QueryBuilder::$ASC, 'discipline');
         $qbuilder->addOrder("tst_title", QueryBuilder::$ASC);
     }
     $qbuilder->addJoin("discipline", "tst_dsc_id", "dsc_id");
     $qbuilder->addLeftJoin("testproblems", "tst_id", "tpb_tst_id");
     $qbuilder->addGroupBy("tst_id", "test");
     $tests = $dao->findByQueryWithMetaFields($qbuilder);
     return $tests;
 }
开发者ID:renatorroliveira,项目名称:algod,代码行数:17,代码来源:TestBS.php

示例2: buildGetDataSQL

 /**
  * Builds the SQL statement to select the data for this page and schema
  *
  * @return array Two fields: the SQL string and the parameters array
  */
 protected function buildGetDataSQL()
 {
     $sep = Search::CONCAT_SEPARATOR;
     $stable = 'data_' . $this->schema->getTable();
     $mtable = 'multi_' . $this->schema->getTable();
     $QB = new QueryBuilder();
     $QB->addTable($stable, 'DATA');
     $QB->addSelectColumn('DATA', 'pid', 'PID');
     $QB->addGroupByStatement('DATA.pid');
     foreach ($this->schema->getColumns(false) as $col) {
         $colref = $col->getColref();
         $colname = 'col' . $colref;
         $outname = 'out' . $colref;
         if ($col->getType()->isMulti()) {
             $tn = 'M' . $colref;
             $QB->addLeftJoin('DATA', $mtable, $tn, "DATA.pid = {$tn}.pid AND DATA.rev = {$tn}.rev AND {$tn}.colref = {$colref}");
             $col->getType()->select($QB, $tn, 'value', $outname);
             $sel = $QB->getSelectStatement($outname);
             $QB->addSelectStatement("GROUP_CONCAT({$sel}, '{$sep}')", $outname);
         } else {
             $col->getType()->select($QB, 'DATA', $colname, $outname);
             $QB->addGroupByStatement($outname);
         }
     }
     $pl = $QB->addValue($this->pid);
     $QB->filters()->whereAnd("DATA.pid = {$pl}");
     $pl = $QB->addValue($this->getLastRevisionTimestamp());
     $QB->filters()->whereAnd("DATA.rev = {$pl}");
     return $QB->getSQL();
 }
开发者ID:cosmocode,项目名称:dokuwiki-plugin-struct,代码行数:35,代码来源:AccessTable.php

示例3: findAll

 public function findAll($qbuilder)
 {
     if (UserSession::getInstance()->getAccessLevel() < 3) {
         die("<h1>Forbidden resource for you.</h1>");
     }
     @($dao = new DAO(Problem));
     if (!isset($qbuilder)) {
         $qbuilder = new QueryBuilder('problem');
         $qbuilder->addOrder("dsc_code", QueryBuilder::$ASC, 'discipline');
         $qbuilder->addOrder("prb_difficultyLevel", QueryBuilder::$ASC);
         $qbuilder->addOrder("prb_title", QueryBuilder::$ASC);
     }
     $qbuilder->addJoin("discipline", "prb_dsc_id", "dsc_id");
     $qbuilder->addLeftJoin("evaluationcase", "prb_id", "evc_prb_id");
     $qbuilder->addGroupBy("prb_id", "problem");
     $problems = $dao->findByQueryWithMetaFields($qbuilder);
     return $problems;
 }
开发者ID:renatorroliveira,项目名称:algod,代码行数:18,代码来源:ProblemBS.php


注:本文中的QueryBuilder::addLeftJoin方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。