Php 条令2模型:如何将表名设置为“-”?

Php 条令2模型:如何将表名设置为“-”?,php,doctrine-orm,name-conflict,Php,Doctrine Orm,Name Conflict,我应该如何命名Doctrine 2模型表行变量,例如url名称是表行名称,我尝试过: /** @Column(name="url-name", type="string") */ private $urlName; // or I tried also /** @Column(name="`url-name`", type="string") */ private $url_name; 但它不提取$urlName行。该行结果为空,但其他行/其余行的提取正确。不能将减号用作列名的一部分。请看

我应该如何命名Doctrine 2模型表行变量,例如url名称是表行名称,我尝试过:

/** @Column(name="url-name", type="string") */
private $urlName;

// or I tried also

/** @Column(name="`url-name`", type="string") */
private $url_name;

但它不提取$urlName行。该行结果为空,但其他行/其余行的提取正确。

不能将减号用作列名的一部分。请看一下这个查询:

SELECT url-name ...

这意味着从url中减去名称,就像价格*税收意味着价格乘以税收一样。使用u而不是-。

为什么我不能在列名中使用减号?我必须在``中设置,然后它应该可以工作,例如,从…中选择` url名称'。。。顺便说一句,见上面代码中的更新我不认为这是一个条令问题。。。更像Crozin提到的,这只是标准的命名。。不要使用像*这样的字符,而是使用u,它应该可以正常工作。即使您输入了``哪一个是正确的,如果您执行查询,数据库引擎将返回一个错误。url\u name、urlName或url name之间的唯一区别是它的美观。是的,我个人也认为url名称看起来比url_名称漂亮,但第一种形式是无效的。在Oracle中使用反引号、[]在MSSQL等中使用反引号是最糟糕的解决方法。而且你在使用教义,那有什么区别?您可能总是使用urlName处理条令模式。