現在、PEAR から取得した最新バージョンの symfony を使用してアプリケーションを開発しています。これは私の正確なスキーマ構成です
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 がユーザーへの外部キーであることにお気づきでしょう。明確なガイドによると、[引用タイトル=引用:](_idで終わる列は外部キーと見なされ、列名の最初の部分に基づいて関連するテーブルが自動的に決定されます)。[/引用]
いずれかのフィルターまたはフォーム (build-filters/build-forms/build-all) をビルドしようとすると、次のエラー メッセージが表示されます。
>> 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」は事前定義されたクラスですが、問題は今のところ解決済み[編集済み]のままです。
無料のインターネット ハグ 1 回、主要な小道具、無料のスペース シャトルを提供して、解決策を思いついた偉大な魂に贈ります。(免責事項:実際には無料のスペースシャトルはありません)