3

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();
4

2 に答える 2

1

where メソッドの最初のパラメーターとして配列を渡そうとしましたか? :)

于 2013-01-25T12:37:13.347 に答える
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();
于 2013-01-25T12:37:03.280 に答える