Есть БД MongoDB у которой есть коллекции Regions и Cities.
Regions
- _id : ObjectId
- id : int
- title : string
- _id : ObjectId
- id : int
- title : string
- region : int
Код: Выделить всё
<?php
namespace app\models;
use yii\mongodb\ActiveRecord;
class City extends ActiveRecord
{
public static function collectionName()
{
return 'cities';
}
public function attributes()
{
return ['_id', 'id', 'region', 'title'];
}
public function getRegion()
{
return $this->hasOne(Region::className(), ['id' => 'region']);
}
}
Код: Выделить всё
<?php
namespace app\models;
use yii\mongodb\ActiveRecord;
class Region extends ActiveRecord
{
public static function collectionName()
{
return 'regions';
}
public function attributes()
{
return ['_id', 'id', 'title'];
}
}
Код: Выделить всё
$city = City::findOne(['id' => 5]);
var_dump($city);
die();
Код: Выделить всё
object(app\models\City)#95 (8) {
["_attributes":"yii\db\BaseActiveRecord":private]=>
array(4) {
["_id"]=>
object(MongoDB\BSON\ObjectId)#97 (1) {
["oid"]=>
string(24) "531324c7f3ca9d970d7c6b3a"
}
["id"]=>
int(5)
["region"]=>
int(4)
["title"]=>
string(24) "Название города"
}
["_oldAttributes":"yii\db\BaseActiveRecord":private]=>
array(4) {
["_id"]=>
object(MongoDB\BSON\ObjectId)#97 (1) {
["oid"]=>
string(24) "531324c7f3ca9d970d7c6b3a"
}
["id"]=>
int(5)
["region"]=>
int(4)
["title"]=>
string(24) "Название города"
}
["_related":"yii\db\BaseActiveRecord":private]=>
array(0) {
}
["_errors":"yii\base\Model":private]=>
NULL
["_validators":"yii\base\Model":private]=>
NULL
["_scenario":"yii\base\Model":private]=>
string(7) "default"
["_events":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(0) {
}
}
Как следствие в GridView я не могу прописать колонку region.title.
Подскажите пожалуйста что я делаю не так.