【发布时间】:2015-02-04 04:49:15
【问题描述】:
所以我对我的 MySQL 数据库有这个查询,
$sql = "SELECT samples.* ,
CONCAT(costumers.name, ' ', costumers.lastName) AS name, costumers.telefon AS telefon
FROM samples
LEFT OUTER JOIN costumers
ON samples.id = costumers.costumer_id
WHERE (sqrt(pow( :x_center - `Y` , 2) + pow( :y_center - `X`, 2 ))) < :radius";
这真的很好用。但是当我搬到 Laravel 时,我想重写这个查询。
所以我要查询的是土壤样本的 X 坐标和 Y 坐标。 (在瑞典,我们有一个名为 RT90 的坐标系,它使用 X 和 Y 而不是纬度/经度)。我还输入了搜索半径。 我想找到具有该半径的圆内的每个样本。
在过去的一个小时里,我一直在尝试将我之前的查询翻译成在 Laravel 中有用的东西。但我遇到了一些麻烦。
有没有人对使用 Eloquent 或 DB::raw 的好查询提出建议? 完成该查询后,结果将被传递给 json_encode。用于在 JavaScript 中进一步处理。 这对我之前的查询很有效,如果你们也能想到这一点,那就太好了。
我的 Laravel 模型是 Sample 和 Costumer。
谢谢,西蒙
【问题讨论】: