현재 PEAR을 통해 얻은 최신 버전의 symfony를 사용하여 응용 프로그램을 개발하고 있습니다. 이것은 내 정확한 스키마 구성입니다.symfony 프레임 워크와 데이터베이스 관계에 문제 - 정의되지 않은 테이블에 대해 TableMap을 가져올 수 없습니다.
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:
깨어 있고 인식하고있는 것은 아마도 post의 user_id가 사용자의 외래 키임을 인식했을 것입니다. 명확한 가이드에 따르면; [인용문 = 따옴표 :] (_id로 끝나는 열은 외래 키로 간주되며 관련 테이블은 열 이름의 첫 번째 부분에 따라 자동으로 결정됩니다.) [/ quote]
빌드 할 때마다 필터 또는 FORMS (빌드 필터/빌드 양식/빌드 전체) 중 하나에서 다음과 같은 오류 메시지가 나타납니다.
>> 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 프로젝트이며,이 오류를 디버그하기 위해서만 만들어졌습니다. 내 테이블에 단수 및 복수 이름을 사용하려고했습니다. 나는 끔찍한 잘못을 저질러 왔을 까? 아니면 이것은 단단한 버그인가? 어떤 입력을 주셔서 감사합니다, 이것은 나를 미치게합니다!
내가 포럼, 여기 심포니의 공식 커뮤니티에서 이상 스레드가 : http://forum.symfony-project.org/index.php/m/77979/ - 나는 물결표를 사용하는 것을 잊었다 방법을 추천하고 그 몇 가지 제안 (이있었습니다 "사용자는"사전 정의 된 클래스이지만, 문제는 를 해결 남아 현재로서는 [편집]
한 무료 인터넷 포옹, 주요 소품과 해결책을 마련 거대한 영혼 무료 우주 왕복선.! (면책 조항 : 실제로 거기에 여유 우주 왕복선)