Я не могу заставить функцию 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 );
?>
Breadline — это таблица MYSQL с 2 полями:
tstamp
а также val
Система, на которой я должен развернуть свой код, работает на PHP 5.3.3, и поэтому я сделал патч.
Я видел, как другие люди также описывали эту проблему, но они использовали параметры. Я все еще получаю это даже после удаления всех параметров и вызова R::findAll('breadline');
,
Я не смог воспроизвести эту ошибку, даже при использовании параметров, на моем тестовом сервере, который я настроил для запуска PHP 5.3.3.
На красных бобах Веб-сайт, Есть некоторые требования:
Существующие схемы
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;
}
Других решений пока нет …