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.
		
		
		
		
		
			
		
			
				
					
					
						
							47 lines
						
					
					
						
							964 B
						
					
					
				
			
		
		
	
	
							47 lines
						
					
					
						
							964 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 typePublic($alias = null) | 
						|
    { | 
						|
	    return $this->andWhere([ | 
						|
		    ($alias ? $alias . '.' : '') . 'type' => BlogPost::TYPE_PUBLIC, | 
						|
	    ]); | 
						|
    } | 
						|
 | 
						|
    /*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]); | 
						|
	} | 
						|
} |