Esempio n. 1
0
 /**
  * @param string|null $q
  * @param int|null    $id
  * @param int|null    $country_id
  *
  * @return array
  */
 public function actionRegions($q = null, $id = null, $country_id = null)
 {
     if ($id) {
         return ['results' => ['id' => (int) $id, 'text' => Region::findOne((int) $id)->name]];
     }
     $data = (new Query())->select('id, name AS text')->from(Region::tableName())->limit(50);
     if ($q) {
         $data->where(['or', ['like', 'name', $q . '%', false], ['like', 'name_ascii', $q . '%', false]]);
     }
     if ($country_id) {
         $data->andWhere(['country_id' => (int) $country_id]);
     }
     return ['results' => array_values($data->createCommand()->queryAll())];
 }
Esempio n. 2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getRegions()
 {
     return $this->hasMany(Region::className(), ['country_id' => 'id']);
 }
Esempio n. 3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getRegion()
 {
     return $this->hasOne(Region::className(), ['id' => 'region_id']);
 }