Sql laravel联接查询中以逗号分隔的列值

Sql laravel联接查询中以逗号分隔的列值,sql,laravel,laravel-query-builder,Sql,Laravel,Laravel Query Builder,我有一个laravel webapp,其中我的数据库通过下表进行结构化。这种关系是,事务通过lhas_事务有许多加载_租用_协议 我想使用laravel的DB:table->join\*任何相关的join*\编写一个join语句,以便生成下面的输出 | transactions.id | transactions.number | loading_hire_agreements.number | |------------------|---------------------|-------

我有一个laravel webapp,其中我的数据库通过下表进行结构化。这种关系是,事务通过lhas_事务有许多加载_租用_协议

我想使用laravel的DB:table->join\*任何相关的join*\编写一个join语句,以便生成下面的输出

| transactions.id  | transactions.number | loading_hire_agreements.number |
|------------------|---------------------|--------------------------------|
| 1                | TRN#1               | JY1001, JY1002                 |
| 2                | TRN#2               | JY1003                         |
我必须使用DB:table,因为我正在将此查询连接到前端datatable服务

尝试使用GROUP_CONCAT并连接所有三个表:

$users = DB::table('transactions')
         ->join('lhas_transactions as lt', 'transactions.id', '=', 'lt.transaction_id')
         ->join('loading_hire_agreements as lha', 'lt.lha_id', '=', 'lha.id')
         ->select(DB::raw('transactions.id, transactions.number, GROUP_CONCAT(lha.number ORDER BY lha.id) AS agreements'))
         ->groupBy('transactions.id', 'transactions.number')
         ->get();

嗨,蒂姆,非常感谢你的回答。我已编辑该问题以添加一个新的连接。再次感谢你的帮助@法维兹不错。我已经把你的问题回复到原来的问题上,因为在别人已经回答了之后再大幅度地改变这个问题是不礼貌的。你的新问题需要两倍于我发布的代码。如果你真的需要另一个问题,那么你应该问另一个问题。对此我深表歉意。谢谢你的帮助!请随意提出一个新问题并参考此问题。我会改变我的答案,但是你需要两个独立的子查询,这需要一堆非常难看的Laravel代码。
$users = DB::table('transactions')
         ->join('lhas_transactions as lt', 'transactions.id', '=', 'lt.transaction_id')
         ->join('loading_hire_agreements as lha', 'lt.lha_id', '=', 'lha.id')
         ->select(DB::raw('transactions.id, transactions.number, GROUP_CONCAT(lha.number ORDER BY lha.id) AS agreements'))
         ->groupBy('transactions.id', 'transactions.number')
         ->get();