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

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