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


PHP Query::column方法代码示例

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


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

示例1: getFollowTagIdsByUid

 public static function getFollowTagIdsByUid($uid)
 {
     //        $sql = "select tag_id from tag_follow where author_id=:author_id";
     //        $tag_ids = Yii::$app->db->createCommand($sql, [
     //            ':author_id' => $uid
     //        ])->queryColumn();
     //        return $tag_ids;
     $query = new Query();
     $query->select('tag_id')->from('tag_follow')->where(['author_id' => $uid]);
     return $query->column();
 }
开发者ID:awebc,项目名称:web_xbf,代码行数:11,代码来源:Tag.php

示例2: find

 public static function find($module, $params = [], $page = 30)
 {
     $relation = ['country' => ['translations'], 'city' => ['country', 'country.translations', 'airports', 'airports.translations', 'translations'], 'direction' => ['iata', 'from', 'from.translations', 'from.country', 'from.country.translations', 'to', 'to.translations', 'to.country', 'to.country.translations'], 'airport' => ['translations', 'country', 'country.translations', 'city', 'city.translations'], 'airline' => []];
     if (!empty($params['relation'])) {
         $relation = array_merge($relation, $params['relation']);
         unset($params['relation']);
     }
     $model = 'common\\models\\Received' . ucfirst($module);
     if (!class_exists($model)) {
         throw new ErrorException('no module > ' . $module);
     }
     $query = new Query();
     $query->select(["{$module}.id"])->from([$module => "received_{$module}"]);
     if ($module == 'direction') {
         $query->addSelect(["{$module}.popularity"]);
         $query->orderBy(['direction.popularity' => SORT_DESC]);
         $query->groupBy(['direction.city_to_code', 'direction.city_from_code']);
     }
     foreach ($params as $key => $value) {
         $postfix = '';
         if ($key == 'from' || $key == 'to') {
             $postfix = "_{$key}";
             $key = 'city';
         }
         if (is_array($value) && $value) {
             $query->leftJoin([$key . $postfix => "received_{$key}"], "{$module}.{$key}{$postfix}_code = {$key}{$postfix}.code");
             foreach ($value as $_key => $_value) {
                 if (is_array($_value) && $_value) {
                     $query->leftJoin([$_key . $postfix => "received_{$_key}"], "{$key}{$postfix}.{$_key}_code = {$_key}{$postfix}.code");
                     foreach ($_value as $__key => $__value) {
                         $query->andFilterWhere(["{$_key}{$postfix}.{$__key}" => $__value]);
                     }
                 } else {
                     $query->andFilterWhere(["{$key}{$postfix}.{$_key}" => $_value]);
                 }
             }
         } else {
             $query->andFilterWhere(["{$module}.{$key}{$postfix}" => $value]);
         }
     }
     $total = $query->count();
     $id = $query->column();
     if ($page > 1) {
         if (!empty($_GET['page'])) {
             $_page = $_GET['page'];
         } else {
             $_page = 0;
         }
         $id = array_slice($id, $_page > 1 ? ($_page - 1) * $page : 0, $page);
         //            VarDumper::dump($id);
     }
     /** @var $model \yii\db\ActiveRecord */
     $query = $model::find()->where(['id' => $id])->asArray();
     if ($module == 'direction') {
         $query->orderBy(['received_direction.popularity' => SORT_DESC]);
     }
     $query->with($relation[$module]);
     if ($page == 1) {
         return $query->all();
     }
     $pagination = new Pagination(['totalCount' => $total, 'pageSize' => $page, 'pageSizeParam' => false]);
     if ($page == 1) {
         $page = 0;
     }
     $query->offset(0)->limit($page);
     return [$query->all(), $pagination];
 }
开发者ID:BeforyDeath,项目名称:travel,代码行数:67,代码来源:ReceivedFilter.php

示例3: loadMessages

 private function loadMessages($className)
 {
     if (!is_subclass_of($className, \yii\db\ActiveRecord::className())) {
         throw new \Exception("'{$className}' does not extend \\yii\\db\\ActiveRecord.");
     }
     $attributeNames = $this->getTranslatableAttributes($className);
     $messages = [];
     foreach ($attributeNames as $attributeName) {
         $query = new Query();
         $query->select($attributeName)->distinct()->from($className::tableName());
         $messages = array_merge($messages, $query->column());
     }
     return $messages;
 }
开发者ID:iw-reload,项目名称:iw,代码行数:14,代码来源:MessageController.php


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