首先我知道开发人员已经全职停止了这个扩展,但据我所知,还有很多人在使用它。希望有人可以帮助我(希望简单的问题!)
我正在尝试使用YiiMongoDbSuite扩展读取刚刚插入MongoDB的数据。
数据已成功插入,因为我可以通过mongo控制台看到它。
问题是当我尝试检索它时。这是我一起运行的代码 - 它插入它(没问题),但无法检索它:
<?php
$new = new Character();
$new->playerName = "Yii-Insert-Test";
$new->playerId = "123456789";
$new->playerScore = "9001";
$new->save();
$findAll = Character::model()->findAll();
foreach($findAll as $result) {
echo $result->playerName; // result should be "Yii-Insert-Test", instead it's NULL
}
?>
它确实插入了:
{
"_id" : ObjectId("54a0deda60fc21843100002a"),
"playerName" : "Yii-Insert-Test",
"playerId" : "123456789",
"playerScore" : "9001"
}
这是我非常简单的模型Character.php:
<?php
class Character extends EMongoDocument
{
public $_id;
public $playerName;
public $playerId;
public $playerScore;
public function getCollectionName()
{
return 'usercollection';
}
public function rules()
{
return array(
array('playerName', 'required'),
);
}
public function attributeNames()
{
return array(
'playerName' => 'Character Name',
'playerId' => 'Character ID',
'playerScore' => 'Character Score',
);
}
public static function model($className=__CLASS__)
{
return parent::model($className);
}
}
我觉得它在我面前是正确的,但看不出问题是什么。
慢慢搞清楚 - 看起来我正在接收数据,但它都是空的 - 这是mongoDB游标。我已经做了一个forloop迭代它,所以我必须弄清楚我还不做了什么。