gpt4 book ai didi

CakePHP:未找到列:1054 未知列

转载 作者:行者123 更新时间:2023-12-04 04:52:53 25 4
gpt4 key购买 nike

我在找出我从哪里收到此错误时遇到了一些麻烦:

错误:SQLSTATE[42S22]:未找到列:“字段列表”中的未知列“HomeVisitorDemographic.Last Name”1054

首先$this->set('homeVisitor', $this->HomeVisitorDemographic->find('list'));工作正常。

当我尝试运行时出现问题:

$this->set('homeVisitor', $this->HomeVisitorDemographic->find('list', array(
'fields' => array('id','Last Name'),
)));

现在我读过的大多数东西都会说问题是“姓氏”字段不存在,这正是错误所说的。 cake 试图执行的 SQL 如下:
SQL Query: SELECT `HomeVisitorDemographic`.`id`, `HomeVisitorDemographic.Last Name`
FROM `cake`.`HomeVisitorDemographics` AS `HomeVisitorDemographic` WHERE 1 = 1

从我的数据库中:
mysql> describe HomeVisitorDemographics;
+------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| Last Name | varchar(70) | NO | | NULL | |
| First Name | varchar(70) | NO | | NULL | |
+------------------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

mysql>

所以,我真的有点困惑为什么我不能拉动这个领域。也许我只是累了,忽略了一些简单的事情?我可以在那里看到该领域确实存在。它也从网站上的其他页面中提取姓氏,所以我知道它存在并且数据在那里。我的调试级别设置为 2,因此缓存应在 10 秒后过期。
有什么想法吗?

最佳答案

带空格的字段名...
有问题。如果您仔细查看正在生成的 sql:

SELECT 
`HomeVisitorDemographic`.`id`,
`HomeVisitorDemographic.Last Name`,
FROM
`cake`.`HomeVisitorDemographics` AS `HomeVisitorDemographic`
WHERE
1 = 1
生成的查询正在查找名为 HomeVisitorDemographic.Last Name 的字段,也如错误消息中所示(尽管在错误消息中,很容易将其误读为 table.field)。
在这种情况下,“最佳”解决方案是将字段重命名为更合理的名称 - 例如“last_name”。
转义值不会再次转义
如果无法更改架构,另一种解决方案是自己转义字段名:
$this->HomeVisitorDemographic->find('list', array(
'fields' => array(
'id',
'`HomeVisitorDemographic`.`Last Name`' # <- note backticks
)
));
那应该生成查询:
SELECT 
`HomeVisitorDemographic`.`id`,
`HomeVisitorDemographic`.`Last Name`,
FROM
`cake`.`HomeVisitorDemographics` AS `HomeVisitorDemographic`
WHERE
1 = 1

关于CakePHP:未找到列:1054 未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17158536/

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