Предварительно упакованный Redbean извлекает только одну (последнюю) строку - PullRequest
0 голосов
/ 14 апреля 2011

Я бы хотел использовать предварительно упакованный однофайловый Redbean 1.3 ORM из http://www.redbeanphp.com. Когда я пытаюсь получить результат таким образом.следует:

Notice: Undefined index: id in rb.php on line 3686

Notice: Undefined index: id in rb.php on line 3686

Notice: Undefined index: id in rb.php on line 3686
value.of.class.field.from.function.table    // << prints only the 9th value

Как видите, я получаю только результат последней строки, хотя есть записи для идентификаторов от 1 до xxxКогда я устанавливаю условие where на ID < 9, я получаю только 8-ю строку.

Есть идеи, почему?Или какие-либо неконфигурированные альтернативы Redbean?

Ответы [ 2 ]

2 голосов
/ 15 июня 2011

Идентификатор RedBeanPHP чувствителен к регистру, вам нужно использовать «идентификатор» вместо идентификатора. Или вы должны использовать Bean Formatter, чтобы RedBeanPHP знал, что вы хотите использовать ID в качестве основного ключа:

http://www.redbeanphp.com/#/Custom_Keys

0 голосов
/ 22 февраля 2014

Вы можете переименовать ваш первичный ключ таблицы в «id», тогда Redbean может его идентифицировать. Если вы не хотите изменять свою схему таким образом, вам нужно отформатировать bean-компонент и вернуть соответствующий идентификатор:

class MyTableFormatter implements RedBean_IBeanFormatter{
    public function formatBeanTable($table) {
            return $table;
    }
    public function formatBeanID( $table ) {
             if ($table=="user") return "user_id";
            return "id";
    }
}

R::$writer->tableFormatter = new MyTableFormatter;
$user = R::find( "user" );

Код ссылки: https://groups.google.com/forum/#!topic/redbeanorm/weIEM8p71eQ

...