cakephp find('all')语句返回double条目

时间:2013-04-09 06:07:48

标签: cakephp

我正在使用cakephp 1.3处理网站。上个月我改变了网站的托管服务。之后,我遇到了问题。

即。我的数据库中有预订表。当我使用find()语句时,预订表返回双重条目。我找不到为什么会这样。

例如,我得到了特定地点的车辆数据返回下面,

当我在find('all')语句中使用'recursive'=> 2时,我得到以下内容


**

Parking Location : Chennai Citi Centre 2W
Booking Date : 02/04/2013
Booking ID  Transaction Type    Vehicle No  Check In Date       Check Out Date
187994      Normal          7099        02/04/2013 18:31    02/04/2013 22:03
187994      Normal          7099        02/04/2013 18:31    02/04/2013 22:03

**

但是当我在find('all')语句中使用'recursive'=> -1时,我得到了以下内容

**

Parking Location :
Booking Date : 02/04/2013
Booking ID  Transaction Type    Vehicle No  Check In Date       Check Out Date
187994      Normal          7099        02/04/2013 18:31    02/04/2013 22:03

**

这里的停车位置没有到来。它在提供者表中。

请有人帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

通常情况下,我不建议使用recursive=>-1以外的任何内容,只在适当时使用可包含的行为。 我不能真正告诉你为什么第一种方法在不知道模型关联的情况下返回双重条目,或者你正在使用的确切查找查询(你正在使用预订或停车查找()或其他什么:S? ),但尝试使用包含,看看它是否有效。

类似......(我只是假设你的模型被调用以及你如何使用find())

$this->Booking->find('all', array('conditions'=> array() ,//some conditions here
                                  'recursive' => -1,
                                  'contain' => array('Parking'));

之后,执行转储返回的数组以查看输出是否符合您的需要。有关更多可包容的行为check here