gpt4 book ai didi

php - Doctrine 2 像在数据库中一样使用表列,而不是 camelCase

转载 作者:行者123 更新时间:2023-11-30 21:44:57 24 4
gpt4 key购买 nike

你好吗?

因此,最近我决定从 Doctrine 1.2 迁移到 Doctrine 2.5,现在我正在更新我的所有查询和所需的一切。

在 Doctrine 1.2 中,我在 PHP 脚本中直接从数据库生成了所有模型,我决定为 Doctrine 2.5 做同样的事情。我正在使用此脚本 ( https://gist.github.com/tawfekov/4079388) 生成实体。

问题是,它生成的所有列名都采用驼峰命名法。我需要它们的方式与它们在数据库中的方式相同。

这是数据库的样子: Database

下面是实体的样子(无论如何,它的一部分): Entity

有谁知道我该如何解决这个问题?我需要该脚本生成的列名称与数据库匹配,而不是驼峰命名。

[编辑]这不是其他两个问题的重复。第一个问题看起来很有希望,但接受的答案对我不起作用。我尝试了几种命名策略,但没有一种对我有用。而第二个问题与我的正好相反。

最佳答案

您可以将脚本中的字段名称转换回 snake_case

function convertFieldName($input) {
preg_match_all('!([A-Z][A-Z0-9]*(?=$|[A-Z][a-z0-9])|[A-Za-z][a-z0-
9]+)!', $input, $matches);
$ret = $matches[0];
foreach ($ret as &$match) {
$match = $match == strtoupper($match) ? strtolower($match) :
lcfirst($match);
}
return implode('_', $ret);
}

关于php - Doctrine 2 像在数据库中一样使用表列,而不是 camelCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49899676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com