Php where子句中的多个参数

Php where子句中的多个参数,php,sql,propel,Php,Sql,Propel,我需要为where子句附加多个参数。有没有办法通过推进来实现这一点。它给了我 条件:(错误:无法为表达式“LATITUDE”生成SQL,因为Criteria::RAW仅适用于包含单个问号占位符的子句) 这是我的问题 $userArray = UserQuery::create() ->where('( 3959 * acos( cos( radians(?) ) * cos( radians( User.latitude ) ) * cos( radians( User

我需要为where子句附加多个参数。有没有办法通过推进来实现这一点。它给了我

条件:(错误:无法为表达式“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();

对于任何提到这一点的人。我能够使用以下代码实现这一点

$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();
$userArray=UserQuery::create()->其中('(3959*acos(弧度(?)
*cos(弧度(用户纬度))
*cos(弧度(用户经度)-弧度(?)
+sin(弧度(?)
*sin(弧度(用户纬度))<10000',
数组($user->getLatitude(),
$user->getLongitude(),
$user->getLatitude())->find();

是否尝试将数组作为第一个参数传递给where方法?:)

是否尝试将数组作为第一个参数传递给where方法?是,它正在工作。试着添加一个我会接受的答案。