2016-06-27 6 views
1

にnullにエラーすることはできません、私は新しいブロックを作成しようとしていますし、私のdb.xmlは次のようになります。「BID」はConcrete5ブロック

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

、私のコントローラで、私はこの性質を持っている:

protected $btTable = "btAssociationManagers"; 

私は何の問題もなく、私のブロックをインストールすることができますが、私は、ページのどこかにそれを置くしようとすると、私はこのエラーが表示されます。

DESCR、btAssociationManagers(BID、名前、association_name。INSERT INTO」を実行中に例外が発生しましたSQLSTATE [23000]:整合性制約違反:1048列 'bID'をNULLにすることはできません。

(NULLではありません)

私は非常に多くの方法でそれを解決しようとしましたが、うまくいきませんでした。 誰かが助けてくれますか?

よろしく

+1

'db.xml'ファイルの変更を考慮する必要がある場合は、ブロックをアンインストールして再インストールします。あなたはそれをしましたか? –

+0

私はそれを知っており、毎回テーブルを落としましたが、まだそれは意味がありません。今私はあきらめて別の方法で解決しました。ありがとうございます –

答えて

1

この5.6+または5.7+(あるいは5.8ベータ)ですか?あなたのフィールドタイプは、これらのドキュメントには、少なくとも5.6で、Concrete5は、物事を行う方法に合わせて、本当にhttp://legacy-documentation.concrete5.org/tutorials/creating-and-working-with-db-xml-files

はないようですが、その代わりtype="integer"の見えるそれはあなたの「db.xmlドキュメントの先頭にちょうどtype="I"

です私は決してそれ以上のことを行っていません...

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

私のシステムは5.7ですが、私はこのバージョンのcmlも試しましたが、動作しませんでした。 Finnally私はあきらめて、最初からそのブロックをはっきりと書きました。私のdb.xmlは同じように見えますが、うまくいきます。ご協力いただきありがとうございます。 –

関連する問題