К сожалению, с вашей текущей структурой таблицы вы не можете использовать RedBean.Каждая таблица должна иметь первичный ключ с автоинкрементом.Небольшой недостаток, так как это усложняет интеграцию в уже существующий продукт.
Пара потоков, которые не смогли использовать RedBean из-за этого ограничения, с ответами автора, Габора Де Моои:
http://groups.google.com/group/redbeanorm/browse_thread/thread/6d5582275326744f?pli=1
http://groups.google.com/group/redbeanorm/browse_thread/thread/4fa7b29b453dcdb8
RedBean НЕ требует, чтобы поле первичного ключа называлось просто "id", однако.Вы можете отформатировать имя столбца первичного ключа по своему усмотрению, используя метод formatBeanID()
, как показано в примере ниже, который условно добавляет префикс имени таблицы к «id».например) таблица users
будет иметь первичный ключ users_id
.Используя это форматирование, вы можете получить как можно более подробную информацию с именем идентификатора.
http://redbeanphp.com/community/wiki/index.php/Prefixes
Надеемся, что это ограничение будет снято в будущем, поскольку оно действительно препятствует интеграции в существующиепродукты.
РЕДАКТИРОВАТЬ: Как альтернативный ORM, я хорошо слышал о доктрине: http://www.doctrine -project.org / .Лично я не использовал его, но он, кажется, является стандартом для многих, работающих с PHP.
РЕДАКТИРОВАТЬ 2: Спасибо и благодарность Джейсону за привлечение внимания к новому методу интеграцииRedBean в существующий проект, где ваша база данных не может быть настроена для него.Я также хотел обновить свой ответ, если люди все еще ссылаются на него с этой проблемой.Габор предложил создать представления, которые сопоставляются с таблицами, где вы можете настроить представление так, чтобы оно имело надлежащую структуру, необходимую для RedBean.Я лично не проверял это, но он получил положительные отзывы от некоторых пользователей.Это добавляет некоторые дополнительные издержки и обслуживание при изменении таблиц, но, похоже, является лучшим и наиболее полным ответом на этот вопрос на сегодняшний день.http://www.redbeanphp.com/faq#beanformatter