В настоящее время разрабатывается приложение, использующее новейшую версию Symfony, полученную через PEAR. Это моя точная конфигурация схемы
propel: user: id: name: { type: varchar(255), required: true } level: { type: integer, required: true, default: 1 } created_at: post: id: title: { type: varchar(255), required: true } post: { type: longvarchar, required: true } user_id: created_at: updated_at: comment: id: relation: integer comment: { type: varchar(300), required: true } nick: { type: varchar(100), required: true } created_at: updated_at:
Просыпающийся и осведомленный о вас, вероятно, заметил, что user_id в сообщении является внешним ключом для пользователя. Согласно определенному руководству; [quote title = Quote:] (столбцы, заканчивающиеся на _id, считаются внешними ключами, а связанная таблица автоматически определяется в соответствии с первой частью имени столбца). [/ quote]
Всякий раз, когда я пытаюсь создать фильтры EITHER или FORMS (build-filters / build-forms / build-all), я получаю сообщение об ошибке follwing.
>> propel generating form classes -----> Cannot fetch TableMap for undefined table: user. Make sure you have the static MapBuilder registration code after your peer stub class definition. <------ [?php /** * Post form base class. * * @package ##PROJECT_NAME## * @subpackage form * @author ##AUTHOR_NAME## * @version SVN: $Id: sfPropelFormGeneratedTemplate.php 16976 2009-04-04 12:47:44Z fabien $ */ class BasePostForm extends BaseFormPropel { public function setup() { $this->setWidgets(array( 'id' => new sfWidgetFormInputHidden(), 'title' => new sfWidgetFormInput(), 'post' => new sfWidgetFormTextarea(), 'user_id' => new sfWidgetFormPropelChoice(
Я также пытался определить foreignTable и foreignReference в моей схеме, но без везения. Это новый symfony-проект, созданный только для отладки этой ошибки. Я пытался использовать единственные и множественные имена для моих таблиц. Я делаю что-то ужасно неправильно, или это твердая ошибка? Цените ЛЮБОЙ вход, это сводит меня с ума!
У меня есть форум в официальном сообществе symfony, здесь: http://forum.symfony-project.org/index.php/m/77979/ – были некоторые предложения (например, как я забыл использовать тильду и что " user "является предварительно определенным классом, но проблемы остаются SOLVED [отредактированы] на данный момент.
Один бесплатный интернет-обхват, основные реквизиты и бесплатный трансфер до могучей души, которые придумали решение! (отказ от ответственности: на самом деле нет свободного шаттла)