Probleme mit Datenbankbeziehungen mit symfony Framework - holen können nicht TableMap für nicht definierte Tabelle

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

Frage

Zur Zeit der Entwicklung einer Anwendung die neueste Version von Symfony Verwendung durch PEAR erhalten. Dies ist meine genaue Schema Konfiguration

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:

Die wach und bewusst, Sie haben wahrscheinlich bemerkt, dass user_id in Post ein Fremdschlüssel für Benutzer ist. Gemäß der bestimmten Führungs; [Quote title = Zitat:]. (Spalten mit _id enden, werden als Fremdschlüssel sein, und die damit verbundene Tabelle nach dem ersten Teil des Spaltennamen automatisch ermittelt) [/ quote]

Jedes Mal, wenn ich versuche, WEDER Filter oder FORMS (Build-Filter / build-Formulare / build-all) bekomme ich die follwing Fehlermeldung zu bauen.

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

Ich habe auch versucht die foreignTable und foreignReference in meinem Schema definiert, aber ohne Glück. Dies ist ein frisches symfony-Projekt, erstellt nur um diesen Fehler zu debuggen. Ich habe versucht mit Singular und Plural Namen für meine Tabellen. Mache ich etwas schrecklich falsch, oder ist dies ein fester Fehler? Freuen uns über jede Eingabe, das macht mich verrückt!

Ich habe ein Forum auf symfony offizielle Community Thread über, hier: http : //forum.symfony-project.org/index.php/m/77979/ - es einige Vorschläge gewesen ist (wie, wie ich eine Tilde zu verwenden, vergessen und dass „user“ ist eine vordefinierte Klasse, aber die Probleme bleiben GELöST [editiert] ab sofort.

Eine freie Internet-Umarmung, wichtige Requisiten und ein Freiraum Shuttle zum mächtigen Seele, die mit einer Lösung zu kommen (Disclaimer: Es gibt eigentlich keinen freien Platz Shuttle)!

War es hilfreich?

Lösung

Update:. Problem gelöst ist ... nach unzähligen Stunden zurück Verfolgung und Debuggen

Das Problem wird durch ein Tabellenpräfix verursacht wurde manuell in propel.ini wie diese codiert:

; benutzerdefinierte Tabellen-Präfix
propel.tablePrefix = mindmonkey _

Es gibt keine Kommunikation mit schema.yml und der propel.ini oder so ähnlich, so alles abgehört werden. Meine Schlussfolgerung ist: Präfixe vergessen, nur ein spezielles Schema für jedes Projekt verwenden ... Ich habe gerade verwendet Präfix als eine Gewohnheit, immer getan - aber nie wieder, wenn nicht ausdrücklich dazu aufgefordert

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top