* @copyright (c), Thread */ class Group extends \thread\modules\news\models\Group implements BaseBackendModel { public $title; /** * @return array */ public function behaviors() { return ArrayHelper::merge(parent::behaviors(), [ [ 'class' => AttributeBehavior::className(), 'attributes' => [ self::EVENT_BEFORE_INSERT => 'alias', self::EVENT_BEFORE_UPDATE => 'alias', ], 'value' => function ($event) { return Inflector::slug($this->alias); }, ], ]); } /** * Backend form dropdown list * @return array */ public static function dropDownList() { return ArrayHelper::map(self::findBase()->joinWith(['lang'])->undeleted()->all(), 'id', 'lang.title'); } /** * @param $params * @return \yii\data\ActiveDataProvider */ public function search($params) { return (new search\Group())->search($params); } /** * @param $params * @return \yii\data\ActiveDataProvider */ public function trash($params) { return (new search\Group())->trash($params); } /** * @return mixed */ public function getArticlesCount() { return $this->getArticles()->count(); } }