مشاكل مع قاعدة بيانات العلاقات مع symfony الإطار - لا يمكن جلب TableMap على غير معرف الجدول

StackOverflow https://stackoverflow.com/questions/838815

سؤال

حاليا على تطوير تطبيق باستخدام أحدث نسخة من 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 في المنصب هو مفتاح خارجي إلى المستخدم.وفقا واضح الدليل ؛ [quote title=اقتباس:](الأعمدة تنتهي مع _id تعتبر مفاتيح خارجية و الجدول المرتبط تلقائيا تحدد وفقا الجزء الأول من اسم العمود).[/quote]

كلما كنت في محاولة لبناء أي فلاتر أو أشكال (بناء-فلاتر/بناء نماذج/بناء-جميع) أحصل على 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/ - كانت هناك بعض الاقتراحات (مثل كيف نسيت التلدة و "المستخدم" هو ما قبل-طبقية محددة ، ولكن المشاكل لا تزال حل [تحرير] من الآن.

واحدة الإنترنت مجانا عناق, الدعائم الرئيسية مجانا مكوك الفضاء إلى الأقوياء الروح الذي يأتي مع حل! (تنويه:هناك في الواقع لا توجد مساحة حرة المكوك)

هل كانت مفيدة؟

المحلول

تحديث:المشكلة قد تم حلها! ...بعد ساعات لا تحصى من تعقب وتصحيح الأخطاء.

كان سبب المشكلة من قبل بادئة الجدول يدويا مشفرة في دفع.ini مثل هذا:

;مخصص بادئة الجدول
دفع.tablePrefix = mindmonkey_

لا يوجد اتصال مع المخطط.yml و دفع.ini أو شيء من هذا القبيل, لذلك كل شيء تنصتت تصل.استنتاجي من هذا هو:ننسى البادئات فقط استخدام مخصصة مخطط لكل مشروع...أنا فقط استخدام البادئة كما العادة دائما - ولكن أبدا مرة أخرى ما لم يتم إرشادك للقيام بذلك!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top