- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用一个包含所有大写蛇形列名称的数据库,当我用 Eloquent 方式获取它们时,我会做类似的事情:
foreach($data as $key => $item){
$data[$key] = array_change_key_case($item);
}
这使得键(即列名)变为小写,但很快就会变得效率低下,因为我也需要像这样嵌套数组:
foreach($tasks as $key => $task){
foreach($task['users'] as $innerKey => $user){
$task['users'][$innerKey] = array_change_key_case($user);
}
$tasks[$key] = array_change_key_case($task);
}
而且我无法更改数据库。有没有一种方法可以让 Eloquent 返回小写的列名?
最佳答案
您可以在驱动程序级别转换列名 using PDO attributes .为此,请设置您的 Laravel connection options (在 app/config/database.php
中)像这样:
return array(
'connections' => array(
'mysql' => array(
'options' => array(
PDO::ATTR_CASE => PDO::CASE_LOWER,
),
),
)
)
default是 PDO::CASE_NATURAL
,这就是为什么您的代码将它们视为数据库存储它们的原因。
更新:如果您使用的是 MySQL,您可以考虑设置 lower_case_table_names = 2 ,它告诉服务器:
If set to 2, table names are stored as given but compared in lowercase. This option also applies to database names and table aliases.
关于php - 如何在 Eloquent 中找回小写的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40394276/
我正在使用 Scrapy 1.5.1 和 Python 2.7.6。我正在尝试从以下 page 中抓取用户名. 我已经实现了以下代码: # -*- coding: utf-8 -*- import s
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我是一名优秀的程序员,十分优秀!