You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							40 lines
						
					
					
						
							792 B
						
					
					
				
			
		
		
	
	
							40 lines
						
					
					
						
							792 B
						
					
					
				| <?php | |
|  | |
| namespace common\modules\blog\entities\queries; | |
|  | |
| use common\modules\blog\entities\BlogPost; | |
| use yii\db\ActiveQuery; | |
|  | |
| class BlogPostQuery extends ActiveQuery | |
| { | |
|     /** | |
|      * @param null $alias | |
|      * @return $this | |
|      */ | |
|     public function active($alias = null) | |
|     { | |
|         return $this->andWhere([ | |
|             ($alias ? $alias . '.' : '') . 'status' => BlogPost::STATUS_ACTIVE, | |
|         ]); | |
|     } | |
|  | |
|     public function pubDate() | |
|     { | |
|     	return $this->andWhere(['<', 'published_at', time()]); | |
|     } | |
|  | |
|     public function byType($type) | |
|     { | |
|     	return $this->andWhere(['type_id' => $type]); | |
|     } | |
|  | |
|     public function last() | |
|     { | |
|     	return $this->orderBy(['published_at' => SORT_DESC]); | |
|     } | |
|  | |
| 	public function popular() | |
| 	{ | |
| 		return $this->orderBy(['views' => SORT_DESC]); | |
| 	} | |
| } |