Używam następującego kodu do łączenia dwóch tabel w moim kontrolera

$clientdata = DB::table('clients')
 ->join('users', 'clients.id', '=', 'users.id')->get();

W ostrzu:

@foreach($clientdata as $clientdata)
<td>{{$clientdata->first_name(client)}}</td>
<td>{{$clientdata->last_name(client)}}</td>
<td>{{$clientdata->first_name(users)}}</td>
<td>{{$clientdata->last_name(users)}}</td>
@endforeach

Ale moje zarówno stoły klienci, jak i użytkownicy zawierają kolumnę tej samej nazwy, jak first_name i last_name i chcę uzyskać dostęp do first_name i last_name zarówno tabeli klientów, jak i tabeli użytkowników, więc jak mogę to zrobić

0
Ram Agrawal 19 luty 2018, 20:29

3 odpowiedzi

Najlepsza odpowiedź

Możesz to zrobić

$clientdata = DB::table('clients')
   ->join('users', 'clients.id', '=', 'users.id')
   ->select(
       'users.first_name as users_first_name',
       'users.last_name as users_last_name',
       'clients.first_name as clients_first_name',
       'clients.last_name as clients_last_name',
   )
   ->get();

W pliku ostrza:

@foreach($clientdata as $data)
<td>{{$data->users_first_name}}</td>
<td>{{$data->users_last_name}}</td>
<td>{{$data->clients_first_name}}</td>
<td>{{$data->clients_last_name}}</td>
@endforeach
1
Prince Lionel N'zi 19 luty 2018, 17:36

Wypróbuj ten kod

     DB::table('clients') ->join('users', 'clients.id', '=', 'users.id')->select('clients*', DB::raw('clients as client_name'))->get();
1
Boghani Chirag 19 luty 2018, 17:40

Używam zawsze to rozwiązanie

Leniwy :) (W przypadku dużej liczby kolumn)

Wybieram wszystkie kolumny w obu tabelach (tabela. *) I dodam moje niejednoznaczne kolumny z aliasami (table.ammiguous_1 jako alias)

Przykład

$clientdata = DB::table('clients')
->join('users', 'clients.id', '=', 'users.id')
->select(
   'users.*',
   'clients.*',
   'users.first_name AS users_first_name',
   'users.last_name AS users_last_name',
   'clients.first_name AS clients_first_name',
   'clients.last_name AS clients_last_name',
)
->get();

W ostrzu używam aliasu do niejednoznacznych kolumn i oryginalnej nazwy kolumny w innych.

0
H. ELKINA 6 grudzień 2019, 13:55