codeigniter和DataMapper。不同服务器的关系表如何?

时间:2013-06-26 18:09:50

标签: php mysql codeigniter codeigniter-2 codeigniter-datamapper

我希望你能理解我。我的英语不好,但不会很久。 我描述的这个错误从未发生过,事实非常罕见。 在我的本地机器工作完美,窗口和wamp工作:(。 但是我用ubuntu linux上传了亚马逊网。我收到以下错误。

Error Number: 1146
Table 'admin.paginas_servicios' does not exist

它确实不存在,表中有'admin.servicios_paginas',但有趣的是我的本地机器工作。

现在,当我收到以下错误时,现在更改表admin.paginas_servicios的名称,好吗?  但在我的本地机器上不起作用,我得到以下错误,否则:

Error Number: 1146
Tabla 'admin.servicios_paginas' no existe

因为关系表和模型会发生这种情况。

可能适用于操作系统?

通过调用西班牙语名称的表格?

我不明白:(

我希望你能帮助我。 问候。

2 个答案:

答案 0 :(得分:1)

可能是inflector_helper的一个问题。我建议你在模型类中显式设置$ table和$ name。也许这是关系中的一个错误($ has_one和$ has_many属性)。另一个值得关注的提示是,您必须使用按字母顺序排列的模型名称来命名关系。

请提供更多代码。

PS:我是西班牙语,所以请给我一个PM,以便尝试帮助您,然后我们将更新此条目以注册正确的解决方案。

答案 1 :(得分:0)

最后问题出在Windows操作系统上。我正在迁移到ubuntu:)

问题有两个原因:

1 - 因为模型它的第一个单词是用大写字母写的。什么时候应该是小写的。在Windows中忽略,但不是linux。

2 - 在创建与DataMapper关系的表时,命名它们的顺序没有问题。 例如:

如果您的关系名称是“page_image”,那么在Windows中就没有问题,但实际情况是DataMapper按字母顺序处理关系,因此它必须是“image_page”。

完全适用于Windows和Linux。

谢谢!