symfonyのエンティティに教義のクエリを使用して仮想フィールドを追加します。場所によって注文された場所。問題は、このようになります。結果と配列を取得することを、次のとおりです。次のようになります私は私のsymfonyプロジェクト内のエンティティを持っている
[0] =>
(
[0] => distance1
[1] => restaurant1
)
[1] =>
(
[0] => distance2
[1] => restaurant2
)
私は距離では、レストランの「仮想」フィールドがあることを、したいので、結果の配列は次のようになります。
[0] =>
(
[0] => restaurant1
)
[1] =>
(
[0] => restaurant2
)
私の教義クエリ:あなたの助けのための
$r = $this->createQueryBuilder('l');
$r
->select('l')
->addSelect(
'(3959 * acos(cos(radians(' . $cord['latitude'] . '))' .
'* cos(radians(l.latitude))' .
'* cos(radians(l.longitude)' .
'- radians(' . $cord['longitude'] . '))' .
'+ sin(radians(' . $cord['latitude'] . '))' .
'* sin(radians(l.latitude)))) as distance'
);
$r->orderBy('distance', 'ASC');
return $r->getQuery()->getResult();
ありがとう!
'$ cord'とは何ですか?どこから来たのですか?一部のデータベースはデータベースレベルの仮想フィールドをサポートしていますが、すべての計算は同じ行の他の列から行う必要があります。 – Kaspars