Я использую FulePHP и MongoDB, и я новичок в них обоих.По какой-то причине я не могу вытащить более одного объекта данных MongoDB внутри коллекции.В моей коллекции «персонал» у меня есть два элемента «человек», когда я пытаюсь извлечь данные, я получаю только один элемент «человек».Я пытаюсь понять, почему.Когда я выполняю var_dump () из модели, я вижу два элемента.Когда я выполняю print_r () из управления, я вижу только один элемент (первый).Когда я сделал sizeof ($ staff) в модели, я увидел '1', что имеет смысл, потому что у меня есть только один объект.Поэтому я предполагаю, что мой цикл foreach не работает внутри модели и выполняет только одну итерацию.Я провел последние два дня, пытаясь выяснить, почему это происходит, и я провел так много времени с циклами foreach, что больше не могу их понять, поэтому я и пришел сюда.Вот моя модель:
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
)
)
Я не думаю, что мне тоже нужно представление, потому что данныекажется потерянным до того как он доберется до контроллераНо дайте мне знать, если мне нужен вид.Пожалуйста помоги.Я просто не знаю, что еще делать ... Спасибо.