我正在尝试创建一个新块,我的db.xml看起来像这样:
<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";
我可以毫无问题地安装我的块,但是当我尝试将它放在页面的某处时,我收到此错误:
执行&#39; INSERT INTO btAssociationManagers(bID,name,association_name,description)VALUES(?,?,?,?)&#39;使用params [null,&#34; dfsdfg&#34;,&#34; gfhjfghjgfhj&#34;,&#34; ghgj&#34;]:SQLSTATE [23000]:完整性约束违规:1048列&#39; bID&# 39;不能为空
我试图在很多方面解决它,但它没有奏效。 有人可以帮忙吗?
最好的问候
答案 0 :(得分:1)
这是5.6+还是5.7+(甚至5.8 beta)?看起来你的字段类型并不完全符合Concrete5的工作方式,至少在这些文档中的5.6 Here you can see the table in model browser but not in the diagram, hence i can't use it in my LINQ queries
而不是type="integer"
只是type="I"
在db.xml文档的顶部,你有很多额外的东西......我从来没有必要指定的不仅仅是:
<?xml version="1.0"?>
<schema version="0.3">
<table name="btMyTableName">
<field name="bID" type="I"><key /><unsigned /></field>
</table>
</schema>