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.
		
		
		
	
	
		
		
			
	
	
		
			
				
					
						
							|  |  |  | <?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]);
 | 
					
						
							|  |  |  | 	}
 | 
					
						
							|  |  |  | }
 |