我正试图联接两个不同的表以在我的index.blade
文件的foreach循环中显示
我的控制器:
public function index()
{
$users = DB::table('accounts')
->join('users', 'accounts.user_id', '=', 'users.id')
->select('users.accno', 'accounts.*')
->first();
return view('accounts.index', compact('users'));
}
我的刀片:
@foreach($users as $user)
<tr>
<td>{{ $user->accno }}</td>
<td>{{ $user->balance }}</td>
<td>{{ $user->amt }}</td>
</tr>
@endforeach
我在其中实施控制器的index.blade.php,{{user->accno}}
来自我的用户表,其余来自帐户表
答案 0 :(得分:1)
$users = DB::table('accounts')
->join('users', 'accounts.user_id', '=', 'users.id')
->select('users.accno', 'accounts.*')
->first();
在您的控制器中,您正在使用first()
。因此需要使用foreach
。只需写:
<tr>
<td>{{ $user->accno }}</td>
<td>{{ $user->balance }}</td>
<td>{{ $user->amt }}</td>
</tr>
或者您应该使用get()
而不是first()
。但这取决于您的数据,如果您只想返回一个数据,则应使用first()。如果要返回大量数据,则应使用get()。
控制器:
$users = DB::table('accounts')
->join('users', 'accounts.user_id', '=', 'users.id')
->select('users.accno', 'accounts.*')
->get();
刀片:
@foreach($users as $user)
<tr>
<td>{{ $user->accno }}</td>
<td>{{ $user->balance }}</td>
<td>{{ $user->amt }}</td>
</tr>
@endforeach