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


PHP Query::join方法代码示例

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


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

示例1: getQuiz

 public function getQuiz($id)
 {
     $query = new Query();
     $query->select('quiz_questions.id as qid,quiz_questions.*,questions_answers.*')->from('quiz_questions');
     $query->join('join', 'questions_answers', 'quiz_questions.id=question_id');
     $query->where('quiz_questions.quiz_id=' . $id);
     return $this->_group_by($query->all(), 'qid');
 }
开发者ID:Akelcehg,项目名称:psycho,代码行数:8,代码来源:Quiz.php

示例2: getSingleCategoryWithPosts

 public static function getSingleCategoryWithPosts($categoryId)
 {
     $query = new Query();
     $query->select('discussion_posts.*,discussion_categories.*,discussion_posts.id as dpId');
     $query->from('discussion_categories');
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 8]]);
     $query->andFilterWhere(['discussion_categories.id' => $categoryId]);
     $query->join('left join', 'discussion_posts', 'discussion_posts.discussion_category_id=discussion_categories.id');
     $query->orderBy('discussion_posts.id DESC');
     return $dataProvider;
 }
开发者ID:Akelcehg,项目名称:psycho,代码行数:11,代码来源:DiscussionCategories.php

示例3: getSalesData

 public static function getSalesData($duration)
 {
     $dates = [];
     $transactions = [];
     $transactionskv = [];
     $amount = [];
     $statusPaid = [Order::STATUS_PAID, Order::STATUS_DELIVERED];
     $statusPaid = join(",", $statusPaid);
     $orderTable = CartTables::TABLE_ORDER;
     $txnTable = CartTables::TABLE_ORDER_TRANSACTION;
     $query = new Query();
     $query->select(["date(`{$txnTable}`.`createdAt`) as date", 'sum( amount ) as amount']);
     $query->from($txnTable);
     $query->join('LEFT JOIN', $orderTable, "orderId = `{$orderTable}`.`id`");
     $query->where(" {$orderTable}.status in ( {$statusPaid} )");
     switch ($duration) {
         case 0:
             // Current Week - Starting with Sun
             $dates = DateUtil::getCurrentWeekDates();
             $transactions = $query->andWhere("YEARWEEK( `{$txnTable}`.`createdAt` ) = YEARWEEK( CURRENT_DATE ) ")->groupBy(['date'])->all();
             break;
         case 1:
             // Last Week - Starting with Sun
             $dates = DateUtil::getLastWeekDates();
             $transactions = $query->andWhere("YEARWEEK( `{$txnTable}`.`createdAt` ) = YEARWEEK( CURRENT_DATE - INTERVAL 7 DAY ) ")->groupBy(['date'])->all();
             break;
         case 2:
             // This Month
             $dates = DateUtil::getCurrentMonthDates();
             $transactions = $query->andWhere("MONTH( `{$txnTable}`.`createdAt` ) = ( MONTH( NOW() ) ) AND YEAR( `{$txnTable}`.`createdAt` ) = YEAR( NOW() ) ")->groupBy(['date'])->all();
             break;
         case 3:
             // Last Month
             $dates = DateUtil::getLastMonthDates();
             $transactions = $query->andWhere("MONTH( `{$txnTable}`.`createdAt` ) = ( MONTH( NOW() ) - 1 ) AND YEAR( `{$txnTable}`.`createdAt` ) = YEAR( NOW() ) ")->groupBy(['date'])->all();
             break;
     }
     foreach ($transactions as $transaction) {
         $transactionskv[$transaction['date']] = $transaction['amount'];
     }
     foreach ($dates as $date) {
         if (isset($transactionskv[$date])) {
             $amount[] = $transactionskv[$date];
         } else {
             $amount[] = 0;
         }
     }
     return $amount;
 }
开发者ID:cmsgears,项目名称:module-cart,代码行数:49,代码来源:OrderTransactionService.php

示例4: getList

 public static function getList($page = 1, $rows = 10, $condition = '', $conditionParams = [])
 {
     $return = [];
     $query = new Query();
     $query->select('COUNT(1)');
     $query->from(self::tableName() . ' t0');
     $query->where($condition, $conditionParams);
     $result['total'] = $query->scalar();
     $query->select(['t0.id', 't0.username', 't0.email', 't1.firstname', 't1.lastname']);
     $query->join('LEFT JOIN', 'user_profile t1', 't0.id = t1.user_id');
     $query->offset($page * $rows - $rows);
     $query->limit($rows);
     $result['rows'] = $query->All();
     foreach ($result['rows'] as $k => $v) {
         $myRoles = Yii::$app->authManager->getRolesByUser($v['id']);
         if (count($myRoles)) {
             foreach ($myRoles as $kk => $vv) {
                 $result['rows'][$k]['role'] = $kk;
                 break;
             }
         }
     }
     return $result;
 }
开发者ID:sheillendra,项目名称:yii2-user,代码行数:24,代码来源:UserCrud.php

示例5: getRelations

 /**
  * Adds join statement to basic query from relations declared in config files
  *
  * @param \yii\db\Query $query
  * @param string $table
  * @return array $columns to select statement
  */
 public function getRelations(&$query, $table)
 {
     $relations = [];
     $columns = [];
     /** @var Module $module */
     $module = $this->module;
     if (isset($module->tables[$table]['relations'])) {
         $relations = $module->tables[$table]['relations'];
     }
     foreach ($relations as $relation => $relationParams) {
         $query->join($relationParams['type'], $relationParams['table'] . ' ' . $relationParams['alias'], $relationParams['on']);
         $columns[] = $relationParams['alias'] . '.' . $relationParams['representive_columns'] . ' ' . $relation;
     }
     return $columns;
 }
开发者ID:nineinchnick,项目名称:yii2-audit,代码行数:22,代码来源:AuditController.php

示例6: find

 /**
  * Find the models for a foreign data source.
  *
  * @param array $params the query parameters
  *
  * @return Query the foreign data query
  */
 protected function find($params)
 {
     $debug = false;
     $q = new Query();
     $q->select('*');
     $q->from($this->_tableName);
     foreach ($params as $k => $v) {
         if ($k === 'join') {
             foreach ($v as $join) {
                 if (!isset($join['type'])) {
                     $join['type'] = 'INNER JOIN';
                 }
                 if (!isset($join['params'])) {
                     $join['params'] = [];
                 }
                 $q->join($join['type'], $join['table'], $join['on'], $join['params']);
             }
             $debug = true;
         } elseif (in_array($k, ['where'])) {
             $q->{$k}($v);
         } else {
             $q->{$k} = $v;
         }
     }
     if ($debug) {
         //var_dump($q->createCommand()->rawSql);exit;
     }
     return $q;
 }
开发者ID:psesd,项目名称:cascade-lib,代码行数:36,代码来源:Model.php


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