1

Okei 、、それで私は+/-10日の設定で私のデータベースからいくつかの情報を取得しようとしています。

値:

Event.start_date = y-m-d
Event.end_date = y-m-d
My.date = y-m-d

$conditions["My.date >="] = date( 'Y-m-d');
$conditions["My.date -10 >="] = Event.start_date;
$conditions["My.date +10 >="] = Event.end_date;

これを達成する方法について何か提案はありますか?

4

2 に答える 2

3

クエリでこれを試してください

今日の日付と照合する場合:

WHERE startDate BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 10 DAY)

自分の終了日と照合する場合:

WHERE startDate BETWEEN endDate() AND DATE_ADD(endDate(), INTERVAL 10 DAY)

戻るために-10日

WHERE startDate BETWEEN DATE_ADD(startDate(), INTERVAL -10 DAY) AND endDate()

必要に応じてロジックを調整してください。

于 2012-12-03T12:33:55.827 に答える
0

こうやって :)

$conditions = array(
 "OR" => array(
array('My.date BETWEEN DATE_ADD(?, INTERVAL -10 DAY) AND ?' => array($data['Event']['start_date'],$data['Event']['end_date'])),
array('My.date BETWEEN ? AND DATE_ADD(?, INTERVAL 10 DAY)' => array($data['Event']['start_date'],$data['Event']['end_date']))
            )
);
于 2012-12-04T13:07:50.080 に答える