2015-05-08 4 views
2

Я не могу заставить функцию findAll возвращать больше, чем последняя строка запроса результата. Я установил R::debug(TRUE) на скрипт PHP, и он ясно говорит, что в возвращаемом наборе данных данных есть 4 результата. Выведенный запрос работает как ожидалось, возвращая 4 строки, когда я ввел его непосредственно в MySQL.RedBeanPHP findAll возвращает только последний элемент

Вот мой PHP код:

<?php 
require 'include/rb.php'; 
include 'include/config.php'; 
R::debug(TRUE); 
echo 'test4<br>'; 
$returnpeople = R::findAll('breadline'); 

echo '<br>'; 
foreach ($returnpeople as $key => $bean) { 

echo $bean->tstamp.'<br>'; 

} 
print_r($returnpeople); 

?> 

Breadline представляет собой таблицу MYSQL с 2-мя полями:
tstamp и val

Система, которую я должен развернуть свой код на прогонов PHP 5.3.3 и как таковой я сделал патч.

Я видел, как другие люди описывают эту проблему, но они использовали параметры. Я все еще получаю его даже после удаления всех параметров и вызова R::findAll('breadline');.

Я не смог воспроизвести эту ошибку, даже при использовании параметров, на моем тестовом сервере, который я установил для запуска PHP 5.3.3.

ответ

0

На Redbean website, есть некоторые требования:

Существующие схемы

RedBeanPHP был разработан для создания базы данных на лету, как вы идете. После этого вы можете вручную изменить схему в соответствии с вашими потребностями (изменить типы столбцов, добавить дополнительные индексы). Помните, что целью RedBeanPHP является простое ORM без конфигурации. Это может быть достигнуто только при соблюдении определенных соглашений.

Я предполагаю, что ваша таблица должна иметь id поле, потому что в методе convertToBeans, то id используется:

public function convertToBeans($type, $rows) 
{ 
    $collection     = array(); 
    $this->stash[$this->nesting] = array(); 
    foreach ($rows as $row) { 
     $id        = $row['id']; 
     $this->stash[$this->nesting][$id] = $row; 
     $collection[$id]     = $this->load($type, $id); 
    } 
    $this->stash[$this->nesting] = NULL; 

    return $collection; 
} 
+0

К сожалению, это так поздно. Я был очень занят проектом, о котором просил этот вопрос. В любом случае это фиксировало это. – user3764124

Смежные вопросы