2016-06-27 10 views
1

Ich versuche, einen neuen Block zu erstellen und meine db.xml sieht wie folgt aus:‚Angebot‘ kann nicht null Fehler sein auf Concrete5 Block-

<schema 
xmlns="http://www.concrete5.org/doctrine-xml/0.5" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.concrete5.org/doctrine-xml/0.5 http://concrete5.github.io/doctrine-xml/doctrine-xml-0.5.xsd"> 

<table name="btAssociationManagers"> 
    <field name="bID" type="integer"> 
     <unsigned/> 
     <key/> 
     <notnull/> 
    </field> 
    <field name="name" type="text"></field> 
    <field name="association_name" type="text"></field> 
<field name="description" type="text"></field> 
</table> 
</schema> 

und in meinem Controller habe ich diese Eigenschaft:

protected $btTable = "btAssociationManagers"; 

ich kann meinen Block ohne Probleme installieren, aber wenn ich versuche, es in Seite irgendwo zu setzen erhalte ich diesen Fehler:

trat eine Ausnahme ‚in btAssociationManagers INSERT Ausführung (BID, name, association_name, Beschr yption) VALUES (?,?,?,?) 'mit params [null, "dfsdfg", "gfhjfghjgfhj", "ghgj"]: SQLSTATE [23000]: Verletzung Integritätsbedingung: 1048 Die Spalte' bID 'darf nicht null sein

Ich habe versucht, es auf so viele Arten zu lösen, aber es hat nicht funktioniert. Kann jemand bitte helfen?

Mit freundlichen Grüßen

+1

Wenn Sie eine Modifikation der 'db.xml' Datei zu berücksichtigen, wollen Sie müssen Deinstallieren und installieren Sie den Block neu. Hast du es getan? –

+0

Ich weiß es und ich habe jedes Mal den Tisch fallen gelassen, aber es ergab keinen Sinn. Jetzt gab ich auf und löste es auf eine andere Weise. danke –

Antwort

1

Ist das 5.6+ oder 5.7+ (oder sogar 5,8 Beta)? Es sieht aus wie Ihre Feldtypen in Übereinstimmung mit nicht wirklich sind, wie Concrete5 Dinge tut, zumindest in 5.6 in dieser docs http://legacy-documentation.concrete5.org/tutorials/creating-and-working-with-db-xml-files

Statt type="integer" es ist nur type="I"

In der Spitze des db.xml Dokument‘ bekam habe dort eine Menge extra los ... ich habe noch nie mehr geben als nur:

<?xml version="1.0"?> 
<schema version="0.3"> 
<table name="btMyTableName"> 
    <field name="bID" type="I"><key /><unsigned /></field> 
</table> 
</schema> 
+1

Mein System ist 5.7, ich versuchte diese Version von cml auch, aber es hat nicht funktioniert. Finnisch habe ich aufgegeben und diesen Block von Anfang an klar geschrieben. Meine db.xml sieht immer noch gleich aus, aber wie auch immer es funktioniert. danke für Ihre Hilfe. –

Verwandte Themen