gpt4 book ai didi

php - Laravel 4.1 原始查询访问结果

转载 作者:行者123 更新时间:2023-11-29 13:14:09 25 4
gpt4 key购买 nike

我正在使用半正弦公式在 laravel 4.1 中创建一个邻近函数,我的原始查询:

    $haversine = '(3959 * acos(cos(radians(' . $lat . ')) * cos(radians(lat)) * cos(radians(lng) - radians(' . $lng . ')) + sin(radians(' . $lat . ')) * sin(radians(lat))))';

$places = DB::table('b_details')
->select(DB::raw($haversine . ' as distance'))
->orderBy('distance', 'ASC')
->having('distance', '<', $radius)
->get();

foreach ($places as $place) {
var_dump($place);
}

这仅返回计算结果,如下所示:

object(stdClass)[231]
public 'distance' => float 0.037140269070672
object(stdClass)[232]
public 'distance' => float 0.093237928677323
object(stdClass)[233]
public 'distance' => float 0.4404396657947

我无法访问更多数据,例如:

    foreach ($places as $place) {
var_dump($place->name);
}

产生此错误:

 Undefined property: stdClass::$name

感谢任何帮助,谢谢。

最佳答案

您的选择列表应该是要选择的列的数组(尽管它会将单个字符串转换为单个元素数组):您只列出要返回的一项,即距离,因此它只会返回该一项....您需要告诉它也返回所有其他数据列

$places = DB::table('b_details')
->select( array('*', DB::raw($haversine . ' as distance')) )
->orderBy('distance', 'ASC')
->having('distance', '<', $radius)
->get();

关于php - Laravel 4.1 原始查询访问结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21699708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com