拉出数据我正在使用FulePHP和MongoDB,我对他们都是新手。出于某种原因,我无法在集合中拉出多个MongoDB数据对象。当我尝试提取数据时,我只收到一件“人物”,在收藏“人员”中有两件“人物”。我试图理解为什么。当我在模型中做var_dump()时,我看到两个项目出现。当我从控件执行print_r()时,我看到只有一个项目(第一个)出现。当我在模型中做了sizeof($ personnel)时,我看到了'1',这是有道理的,因为我只有一个对象。所以我假设我的foreach循环不在模型中工作,只做一次迭代。我花了最后两天的时间试图弄清楚为什么会发生这种情况,并且我花了很多时间处理foreach循环,以至于我不能理解它们,这就是我来到这里的原因。 这里是我的模型:如何从mongodb(对象)与fuelphp(php)
class Model_Home extends Model {
static function get_results(){
$mongodb = Mongo_Db::instance();
$personnel = $mongodb->get('personnel');
var_dump($personnel);
foreach($personnel as $key => $val){
return $val;
}
}
}
这里是我的控制器:
class Controller_Home extends Controller {
public function action_index()
{
$data['css'] = Asset::css(array('reset.css','main.css'));
$results = Model_Home::get_results();
print_r($results);
foreach ($results as $key => $val){
$data[$key] = $results[$key];
}
$this->response->body = View::factory('home/index', $data);
}
}
不介意CSS的一部分,它只是拉在CSS。 这里是我的var_dump从模型中:
object(stdClass)#10 (2) {
[0]=>
array(5) {
["_id"]=>
object(MongoId)#13 (1) {
["$id"]=>
string(24) "4ef82a27b238f02ed9000000"
}
["cms"]=>
array(1) {
[0]=>
string(8) "Druapl_1"
}
["first_name"]=>
string(6) "Name_1"
["last_name"]=>
string(10) "Lst_Name_1"
["skills"]=>
array(3) {
[0]=>
string(6) "html_1"
[1]=>
string(5) "css_1"
[2]=>
string(8) "jQuery_1"
}
}
[1]=>
array(5) {
["_id"]=>
object(MongoId)#14 (1) {
["$id"]=>
string(24) "4ef81a0dcf163c7da3e5c964"
}
["cms"]=>
array(1) {
[0]=>
string(8) "Druapl_2"
}
["first_name"]=>
string(6) "Name_2"
["last_name"]=>
string(10) "Lst_Name_2"
["skills"]=>
array(3) {
[0]=>
string(6) "html_2"
[1]=>
string(5) "css_2"
[2]=>
string(8) "jQuery_2"
}
}
}
这里是我的print_r()从控制器:
Array
(
[_id] => MongoId Object
(
[$id] => 4ef82a27b238f02ed9000000
)
[cms] => Array
(
[0] => Druapl_1
)
[first_name] => Name_1
[last_name] => Lst_Name_1
[skills] => Array
(
[0] => html_1
[1] => css_1
[2] => jQuery_1
)
)
我不认为我需要的观点也是如此,因为数据被前丢失它看起来像控制器。 但让我知道如果我确实需要这个观点。请帮忙。我根本不知道还能做什么......谢谢。
对不起,我的问题太久了。我只是想彻底,我只是想最终回答这个问题。 – user000001 2011-12-26 22:07:17