Php 如何将左连接横向SQL查询转换为Laravel雄辩查询?

Php 如何将左连接横向SQL查询转换为Laravel雄辩查询?,php,sql,laravel,postgresql,eloquent,Php,Sql,Laravel,Postgresql,Eloquent,我想将以下Postgre SQL查询转换为雄辩的查询: 选择ncts\u info.nct\u id、A.agency\u model、ncts\u info.indexization\u id 来自ncts\U信息 左连接( drug_居中左键将横向json_与_记录集(nct_编号)连接为true上的tbl(nct_编号文本) )A.nct\u编号=ncts\u info.nct\u id上的A 如何将其转换为雄辩的查询?您可以像在laravel中那样使用DB $data=DB::tabl

我想将以下Postgre SQL查询转换为雄辩的查询:

选择ncts\u info.nct\u id、A.agency\u model、ncts\u info.indexization\u id
来自ncts\U信息
左连接(
drug_居中左键将横向json_与_记录集(nct_编号)连接为true上的tbl(nct_编号文本)
)A.nct\u编号=ncts\u info.nct\u id上的A

如何将其转换为雄辩的查询?

您可以像在laravel中那样使用DB

$data=DB::table('ncts\u info')
->leftJoin('drug_Center'、'drug_Center.foreign_key'、'ncts_info.id')
->选择('ncts\U信息.nct\U id'、'A.agency\U model'、'ncts\U信息指数化\U id')
->get();
这将产生以下查询:

选择“ncts\U信息”、“nct\U id”、“A”、“机构模型”、“ncts\U信息”、“指数化\U id”
来自“ncts\U信息”
左键加入“药物中心”中的“药物中心”。“外键”=“ncts\U信息”。“id”;

我设法部分获得了正确的Laravel查询,但缺少了一些东西:

NctsInfo::leftJoin('drug_centers', function($join) {
   $join->leftJoin(DB::raw('LATERAL json_to_recordset(nct_numbers) AS tbl(nct_number text)'), DB::raw('1'), '=', DB::raw('1'));
   $join->on(DB::raw('dc.nct_number'), '=' ,DB::raw('ncts_info.nct_id'));
})
->whereNotNull("nct_numbers")->get();
但根据我预期的sql查询:

SELECT ncts_info.nct_id, A.agency_model, ncts_info.indexation_id FROM ncts_info
LEFT JOIN (
    drug_centers LEFT JOIN LATERAL json_to_recordset(nct_numbers) AS tbl(nct_number text) ON true
) A ON A.nct_number = ncts_info.nct_id
我需要将我的第一个左连接“别名”为“A”,以获取我的nct_编号字段

有人知道怎么解决这个问题吗


谢谢您的帮助

这并不能回答问题。它不会产生OP想要的相同查询。不幸的是,这对我没有帮助。我需要包括横向条款:/