Symfony @ORM \ Table(name =“items”)不起作用

时间:2015-05-25 16:25:33

标签: symfony orm

我在Symfony中有一个名为“Items”的实体,数据库中的表是“items”。

这是我的代码:

namespace MoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="items")
 **/
class Items {

}

@ORM\Table(name="items")无效。

如果我将表的名称更改为“Items”,它可以正常工作(没有ORM);但是,我需要将表名保持为小写字母

我可以在这做什么?

1 个答案:

答案 0 :(得分:1)

要匹配您在/** * @ORM\Entity * @ORM\Table(name="`items`") **/ class Items { } 中指定的完全相同的名称,您需要使用适当的转义引号将其包装起来。例如,在MySQL中,您需要下一个代码:

/**
 * @ORM\Entity
 * @ORM\Table(name="""items""")
 **/
class Items {

}

注意`引号。

对于PostgreSQL,您需要下一个代码:

my.cnf

您还可以将MySQL设置为比较表名称不区分大小写,但按照您声明的方式存储。为此,您需要在[mysqld] //inside mysqld section lower_case_table_names = 2 下一行添加:

<div id="fixed-form">

    <div style="width: 100%; height: 43px">
        <div id="btnclick" class="contactbtn" />
        <div style="padding-top: 12px; font-size: 14px; padding-left: 26px; color: #fff; font-weight: bold; text-transform: uppercase">send us an email</div>
    </div>
</div>
<div class="content" id="testdiv">

    <div style="margin: 0  auto; width: 340px; height: 130px; padding-top: 5px">

    <div style="padding-top: 10px">
        <div style="float: left; width: 165px; height: 37px">
            <input type="text" class="float-input" name="contactName" id="contactName" value="" class="txt requiredField" placeholder="EMAIL ADDRESS:" />
        </div>

        <button name="float-submit" type="submit" class="float-submit" style="margin-top: 8px; margin-left: 10px" value="float-submit" />Submit</button>
    </div>
</div>