RedBeanPHP findAll возвращает только последний элемент

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

Вот мой 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 );

?>

хлебная линия – это таблица MYSQL с двумя полями:
tstamp и val.

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

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

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


person user3764124    schedule 08.05.2015    source источник


Ответы (1)


К веб-сайту Redbean предъявляются следующие требования:

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

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;
}
person pepea    schedule 12.05.2015
comment
Извините, что так поздно. Я был очень занят проектом, для которого был задан этот вопрос. В любом случае это исправлено. - person user3764124; 23.12.2015