我需要为where子句附加多个参数。有没有办法用Propel实现这一目标。它给了我,
标准:(错误:无法为表达式“LATITUDE”构建SQL,因为Criteria :: RAW仅适用于包含单个问号占位符的子句)
这是我的疑问。
$userArray = UserQuery::create()
->where('( 3959 * acos( cos( radians(?) )
* cos( radians( User.latitude ) )
* cos( radians( User.longitude ) - radians(?) )
+ sin( radians(?) )
* sin( radians( User.latitude) ) ) ) > 10',
$user->getLatitude(),
$user->getLongitude(),
$user->getLatitude()
)->find();
答案 0 :(得分:1)
您是否尝试将数组作为第一个参数传递给where方法? :)
答案 1 :(得分:0)
对于任何提到这个的人。我能够使用以下代码实现此目的。
$userArray = UserQuery::create()->where('( 3959 * acos( cos( radians(?) )
* cos( radians( User.latitude ) )
* cos( radians( User.longitude ) - radians(?) )
+ sin( radians(?) )
* sin( radians( User.latitude) ) ) ) < 10000',
array($user->getLatitude(),
$user->getLongitude(),
$user->getLatitude()))->find();