/** * @param $tag * @return array|null|\yii\db\ActiveRecord|static */ public function byTag($tag) { $ans = Content::find()->from(['contentmanager_tags'])->join('INNER JOIN', 'contentmanager_tags_link', '`contentmanager_tags_link`.`tag_id` = `contentmanager_tags`.`id`')->join('INNER JOIN', 'content', '`contentmanager_content`.`id` = `contentmanager_tags_link`.`link_id`')->select('`contentmanager_content`.*')->where(['=', '`contentmanager_tags`.`name`', $tag])->andWhere(['=', '`contentmanager_content`.`lang_id`', Lang::getCurrent()->id])->orderBy('date DESC')->one(); if (!isset($ans->id)) { $ans = Content::getDefault(); } return $ans; }