你在这里看到任何语法错误吗?
'Coupon'=>array(
'fields'=>array(
'promo_code','desc'
),
'conditions'=>array(
'OR'=>array(
'expires' =>0,
'Coupon.end_date >'=>date('Y-m-d')
)
)
),
这是我控制器代码中'contains'数组的一部分。当我从我的代码中删除这个片段时,蛋糕效果很好(只有我需要这个部分!)。我发布了以下整个声明。帮助
public $paginate = array(
'Location'=>array(
'joins' => array(
array(
'table' => 'locations_tags',
'alias' => 'LocationsTag',
'type' => 'inner',
'conditions'=> array(
'LocationsTag.location_id = Location.id'
)
)
),
'limit'=>9,
'contain'=>array(
'Course'=>array(
'fields'=>array(
'specials', 'contact','desc'
),
'conditions'=>array('Course.active'=>1)
),
'Charter'=>array(
'fields'=>array(
'book','specials', 'contact','desc'
),
'conditions'=>array('Charter.active'=>1)
),
'Restaurant'=>array(
'fields'=>array(
'menu','wine_list','specials', 'contact','desc'
),
'conditions'=>array('Restaurant.active'=>1)
),
'Nightclub'=>array(
'fields'=>array(
'menu','schedule','specials', 'contact','desc'
),
'conditions'=>array('Nightclub.active'=>1)
),
'Store'=>array(
'fields'=>array(
'catalog','specials', 'contact','desc'
),
'conditions'=>array('Store.active'=>1)
),
'Coupon'=>array(
'fields'=>array(
'promo_code','desc'
),
'conditions'=>array(
'OR'=>array(
'expires' =>0,
'Coupon.end_date >'=>date('Y-m-d')
)
)
),
'Image',
'Tag'=>array(
'fields'=>array(
'seo_tag'
)
)
)
)
);
答案 0 :(得分:2)
'Coupon.end_date >'=>date('Y-m-d')
您无法在类属性声明中分配计算值(例如,调用函数)。它们必须是恒定的值。
对于计算值,您必须在构造函数中指定它。
来自the docs:
此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估。