В таблицу модели добавим поле для хранения идентификатора языка записи lang
типа char(2)
(Например: ru, en, ...).
Далее в модели зададим условие по умолчанию и реализуем именованное условие lang
.
<?php class Post extends CActiveRecord { //Параметры, применяемые по умолчанию public function defaultScope() { return array( 'condition' => "lang='".Yii::app()->language."'", ); } //Именованное условие с параметром public function lang($lang){ $this->getDbCriteria()->mergeWith(array( 'condition' => "lang='$lang'", )); return $this; } //Ваш код... }
Теперь можем использовать следующий код:
<?php //Выбираем все записи с языком, установленным в данный момент в приложении $posts = Post::model()->findAll(); //Выбираем все записи на английском $posts = Post::model()->lang('en')->findAll();
Комментарии
Комментарии отсутствуют, Вы можете быть первым