'出价' Concrete5 Block

时间:2016-06-27 15:02:01

标签: concrete5

我正在尝试创建一个新块,我的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;不能为空

我试图在很多方面解决它,但它没有奏效。 有人可以帮忙吗?

最好的问候

1 个答案:

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