0

我正在使用 cakephp 1.3 的网站。上个月我改变了网站的托管服务。之后我有一个问题。

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

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

当我在 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

**

这里停车位不来。它在提供者表中。

请任何人帮我解决这个问题

4

1 回答 1

0

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

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

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

之后,对返回的数组进行转储,以查看输出是否符合您的需求。有关更多可控制行为,请查看此处

于 2013-04-09T15:23:02.070 回答