Здравствуйте.
У меня 3 сайта на Yii2, работают на одном движке, на одной базе, потому как большая часть данных пересекается.
Конфигурация: advanced
Структура БД следующая:
В frontend/web/index.php получаю модель сайта:
$site = Sites::find() -> where(['domain' => 'http://'.$_SERVER['HTTP_HOST']]) -> one();
Yii::$app -> params['site'] = $site;
В модели Sites имею геттер:
public function getNews()
{
return $this->hasMany(News::className(), ['id' => 'news_id'])->viaTable('site_news', ['site_id' => 'id']);
}
Соответственно в любом месте могу получить новости, связанные именно с этим сайтом, обратившись
$news = Yii::$app -> params['site'] -> news
и получив коллекцию объектов News
Но как быть, если мне нужно извлечь не все новости, а например только 2 или же выбрать новости, удовлетворяющие какому-либо условию?
И вообще правильна ли такая организация моделей?
Спасибо