【发布时间】:2017-08-05 16:10:15
【问题描述】:
我有一个名为Plans 的表,其中有period_from、period_to 列,它们是日期。
我有另一个名为Prices 的表,其中有一列date。我想通过与date 列匹配来了解Prices 表中是否存在从period_from 到period_to 的所有日期。
到目前为止,我的代码看起来像这样。问题是即使日期范围内只存在一个日期,它也会给我结果。
$plans_table = TableRegistry::get('Plans');
$checkin = $this->request->data['checkin'];
$checkout = $this->request->data['checkout'];
$plans = $plans_table
->find()
->contain([
'Prices' => function($q) {
return $q->where([
'Prices.date >=' => $checkin,
'Prices.date <=' => $checkout
]);
}
]);
CakePHP 3.4.12 版
【问题讨论】:
-
欢迎来到 StackOverflow。发布代码时,请确保其格式清晰,并且可以正常工作(就有效语法而言,除非这是实际问题)-您显示的是无效语法,这可能会使读者感到困惑。另外请务必提及您的 确切 CakePHP 版本(
vendor/cakephp/cakephp/VERSION.txt中的最后一行) - 谢谢! -
Prices和Plans是什么关系?另外,您能否提供一个示例来说明您要实现的目标?
标签: cakephp associations query-builder date-range cakephp-3.x