使用 jsonb_to_recordset 查询生成器原始横向连接

Sam*_*man 1 php jsonb laravel-query-builder lateral-join

希望是一个非常简单的问题。我正在尝试根据我的 postgresql 查询在 Laravel 中创建一个查询,我很难转换这个特定的连接,因为它是使用 jsonb_to_recordset 的横向连接。

join lateral jsonb_to_recordset(gift_splits) as r("house_id" int, "amount" json) on true
Run Code Online (Sandbox Code Playgroud)

这是我迄今为止尝试过的,它说我的论点太少了。我知道它想要“a”、“=”、“b”,但我不确定如何将“on true”翻译为“on true”以及连接的横向方面。

        ->join(DB::raw("lateral jsonb_to_recordset(gift_splits) as r(house_id int, amount json)"), true)
Run Code Online (Sandbox Code Playgroud)

最后,我尝试将整个查询发布到 Model::raw(DB::raw("...) 中,但我遇到了很多小错误。我希望对我的实际问题提供反馈。

Sam*_*man 5

弄清楚了。这是我需要附加到 Eloquent 查询构建器的内容

->crossJoin(DB::raw("横向 jsonb_to_recordset(gift_splits) as r(house_id int, amount json)"))