thinkphp 中数据表名的大小写问题

问题描述:

代码中:这里写图片描述

数据库中:这里写图片描述
返回:
这里写图片描述
下面这句只能让thinkphp不区分字段的大小写

‘DB_PARAMS’ => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL)

在thinkphp中当遇到大写的表名,thinkphp会将大写的字母自动转换成小写,并在前面加一个下划线

### 回答1: ThinkPHP 6 默认使用的是小写字母的表。如果你想要将表转换为大写字母,可以在配置文件 config/database.php 的 'identifier_quote_character' 配置项设置为 `"`,这样所有表都将被转换为大写字母。 例如: ``` 'identifier_quote_character' => '"', ``` 但是强烈不建议使用大写字母命,因为大多数数据库系统都是区分大小写的,容易造成命空间的混淆,导致程序运行错误。 ### 回答2: 在ThinkPHP6数据库的转换可以通过配置文件进行设置,具体的配置项是`'db_table_name_convert'`。 首先,在`config/database.php`文件,我们需要找到`'connections'`数组下的相应数据库连接配置项,例如`'mysql'`,然后在该配置项加入`'db_table_name_convert'`这个配置项,如下所示: ```php 'mysql' => [ // ... 'db_table_name_convert' => true, // ... ], ``` 将`'db_table_name_convert'`设置为`true`,表示开启数据库转换功能。 默认情况下,ThinkPHP6会将数据库转换为小写字母,加上数据表前缀,并用下划线连接单词。但如果我们将`'db_table_name_convert'`设置为`true`,则可以将数据库转换为大写字母。 例如,有一个为`user_info`的表,如果开启数据库转换功能后,它会被转换为`USER_INFO`。 总之,要将数据库转换为大写字母,只需要将ThinkPHP6相应的数据库连接配置项的`'db_table_name_convert'`设置为`true`即可。使用这种方式可以灵活控制数据库大小写格式。 ### 回答3: 在ThinkPHP6数据库的转换为大写字母可以通过配置文件进行设置。具体步骤如下: 1. 打开项目目录下的`config`文件夹,找到`database.php`文件。 2. 打开`database.php`文件后,找到`'params'`数组的`'table_name'`键,该键用于设置数据库的转换规则。 3. 默认情况下,`'table_name'`的值为空数组`[]`,表示不对数据库进行任何转换操作。可以在该数组设置转换规则。 4. 要将数据库转换为大写字母,可以设置`'table_name'`的值为`['strtolower' => 'strtoupper']`。这里的`'strtolower'`和`'strtoupper'`是PHP内置的函数,分别用于将字符串转换为小写和大写。 5. 设置完成后,将`'database.php'`文件保存并关闭。 完成以上步骤后,在ThinkPHP6使用数据库时,所有数据库都会被自动转换为大写字母。例如,数据库的`user`表会被转换为`USER`。 需要注意的是,修改`database.php`配置文件后,需要重启项目才能生效。 以上就是将ThinkPHP6数据库转换为大写字母的方法,希望能对您有所帮助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值