gpt4 book ai didi

php - 我的第一个 CakePHP 项目中未找到列错误

转载 作者:行者123 更新时间:2023-11-29 12:40:28 25 4
gpt4 key购买 nike

我正在使用 CakePHP ,但收到以下错误!这是因为

ON (`Trip`.`city_id` = `City`.`id`)

应该是

(`City'.`city_id` = `Trip`.`id`)

我该如何纠正这个问题?

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Trip.city_id' in 'on clause'

SELECT
`Trip`.`id`, `Trip`.`user_id`, `Trip`.`type_id`, `Trip`.`title`,
`Trip`.`city1`, `Trip`.`city2`, `Trip`.`date`, `Trip`.`free_places`,
`Trip`.`description`, `Trip`.`contact_email`, `Trip`.`created`,
`City`.`city_id`, `City`.`city_name`
FROM
`mitfahr-ar`.`trips` AS `Trip`
LEFT JOIN
`mitfahr-ar`.`cities` AS `City` ON (`Trip`.`city_id` = `City`.`id`)
WHERE 1 = 1

我的模型代码是:

<?php
class Trip extends AppModel
{
public $name= 'Trip';
public $belongsTo= array('City');
}
?>

最佳答案

[....] Which is because

ON (`Trip`.`city_id` = `City`.`id`)

Should be

(`City'.`city_id` = `Trip`.`id`)

不,不应该,后一个完全没有意义,`City`.`city_id` 表示自连接,并且在任何情况下都只能关联单个城市与其他一条记录,这没有意义 normalization明智的。

CakePHP 生成的前一个表达式是绝对正确的,在 belongsTo 关联中,外键由当前模型保存。

参见http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#belongsto

因此,要解决此问题,请将正确的 city_id 外键添加到您的 trips 表中。

关于php - 我的第一个 CakePHP 项目中未找到列错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26194226/

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