查询生成器联接原始(postgres / postgis)

时间:2020-06-10 12:17:01

标签: database laravel postgresql eloquent postgis

是否可以在Laravel查询构建器中执行此查询?

SELECT table2.id FROM table1
JOIN table2 ON ST_Intersects(table2.geom,table1.geom)
WHERE table1.id = 1234

我曾尝试搜索Laravel doc(高级连接条款),但找不到适合我问题的示例。

$query = Table1::query()
    ->select('table2.id')
    ->join(...)
    ->where('table1.id','=',1234)
    ->get();

1 个答案:

答案 0 :(得分:0)

好,我找到了解决方法:

$query = Table1::query()
    ->select('table2.id')
    ->join('table2', function ($query) {  
        $query->where(\DB::raw('ST_Intersects(table2.geom,table1.geom)'), true);
    })
    ->where('table1.id','=',1234)
    ->get();