Symfony Framework ile veritabanı ilişkileri ile ilgili sorunlar - tanımsız tablo için TableMap alınamıyor

1 Cevap php

Şu anda Symfony en yeni sürümünü kullanarak bir uygulama geliştiriyorum, ARMUT yoluyla elde. Bu benim kesin şema yapılandırma

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:

Uyanık ve sizin farkında muhtemelen yazı User_id kullanıcıya bir yabancı anahtar olduğunu fark etmişsinizdir. Kesin kılavuzuna göre; [Alıntı yap title = Alıntı:]. (_ID Ile biten sütun yabancı anahtar olarak kabul edilir ve ilgili tablo otomatik olarak sütun adının ilk kısmına göre belirlenir) [/ quote]

Ben filtreler veya FORMLARINI (build-filters/build-forms/build-all) YA inşa etmeye her zaman follwing hata mesajı alıyorum.

>> 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(

Ben de ama şans olmadan, benim şema yabancıtablo ve foreignReference tanımlayan denedim. Bu sadece bu hata ayıklamak için oluşturulan yeni bir symfony-projedir. Benim tablolar için tekil ve çoğul isimler kullanarak denedim. Ben korkunç yanlış bir şey yapıyor, ya da bu katı bir hata muyum? HERHANGİ giriş takdir, bu beni deli ediyor!

Ben bir forum, burada Symfony'nin resmi topluluk üzerinde thread var: http://forum.symfony-project.org/index.php/m/77979/ - Ben bir tilde kullanmak ve "kullanıcı" önceden tanımlanmış bir sınıf olduğunu unuttum nasıl gibi bazı öneriler (ama sorunlar kalıntılar var oldu SOLVED olarak şimdi [düzenlenmiş].

One free internet hug, major props and a free space shuttle to the mighty soul who come up with a solution! (uyarı: no ücretsiz uzay mekiği aslında var)

1 Cevap

Update: PROBLEM HAS BEEN SOLVED! ... geri izleme ve hata ayıklama sayısız saat sonra.

Sorun elle böyle propel.ini in kodlanmış bir tablo öneki neden oldu:

; custom table prefix
propel.tablePrefix = mindmonkey_

Orada schema.yml ve propel.ini veya böyle bir şey ile hiçbir iletişim, yani her şey yukarı dinlenmişti. Bu benim sonuç şudur: ... Ben sadece kullanılan önek bir alışkanlık olarak, her zaman yapılan sadece her proje için özel bir şema kullanmak, önek unutmayacağım - ama asla tekrar özellikle bunu yapmak için talimat sürece!