带有连接的Laravel查询,在多个表中具有相同的名称

时间:2014-07-16 22:35:36

标签: php mysql laravel

我有一个大查询。对于所有意图和目的,我将使用较小的查询作为示例重新创建该问题:

DB::table('cases')
    ->join('contacts', 'cases.id', '=', 'contacts.id')
    ->select('cases.name', 'contacts.name')
    ->get();

然后在laravel的模板(Blade)中,当我执行foreach循环并打印结果时,它会打印{{ $case->name }}的案例表中的结果

我理解这个问题及其发生的原因,但我怎样才能让它正常工作?

1 个答案:

答案 0 :(得分:2)

这是PDO限制,与laravel无关。如果您同时需要它们,则必须在查询中对其进行别名:

DB::table('cases')
    ->join('contacts', 'cases.id', '=', 'contacts.id')
    ->selectRaw('cases.name as cases_name, contacts.name as contacts_name')
    ->get();