0
$params = [
':x1' => $locationBox['leftLongitude'],
':y1' => $locationBox['topLatitude'],
':x2' => $locationBox['rightLongitude'],
':y2' => $locationBox['topLatitude'],
':x3' => $locationBox['rightLongitude'],
':y3' => $locationBox['bottomLatitude'],
':x4' => $locationBox['leftLongitude'],
':y4' => $locationBox['bottomLatitude'],
':x5' => $locationBox['leftLongitude'],
':y5' => $locationBox['topLatitude']
];
$sql = "
....
INNER JOIN tag_geo T3 ON (T3.id = T2.tag_id_b AND ST_Covers(ST_GeogFromText('POLYGON((:x1 :y1, :x2 :y2, :x3 :y3, :x4 :y4, :x5 :y5))'), T3.geo_location));
";
$connection = \Yii::$app->getDb();
$command = $connection->createCommand($sql);
$command->bindValues($params);
$result = $command->queryAll();
私はエラーを取得する引用符で包まれたパラメータを評価するために失敗する準備しました)、POLYGON関数をラップするティックを削除すると、パラメータは評価されますが、このPOLYGONは一重引用符で囲む必要があるため、別のエラーが発生しました。Yii2文は
これは動作しますが、エーテルの一重引用符または二重引用符を削除する必要があります。 'POLYGON((%s%s、%s%s、%s%s、%s%s、%s%s))' –
私はテストしました!それはそうです。 –
だから、あなたが言った通りですか?一重引用符を削除する必要がありますか? –