簡體   English   中英

如何在 Laravel 中連接兩個表

[英]How to join two tables in Laravel

我正在嘗試加入兩個不同的表以顯示在我的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

我正在實現控制器的{{user->accno}}{{user->accno}}來自我的用戶表,其余來自帳戶表

 $users = DB::table('accounts')
        ->join('users', 'accounts.user_id', '=', 'users.id')
        ->select('users.accno', 'accounts.*')
        ->first();

在您的控制器中,您使用的是 for 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM