suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Informationen aus mehreren Tabellen in einer foreach-Schleife. Laravelle 8

Ich denke, versuchen Sie, eine Tabelle zu erstellen, die eine foreach-Schleife durchläuft, die verwandte Daten aus zwei separaten Tabellen auswählen muss.

Tatsächliche Situation: Bei der Erstellung einer Kreditverwaltungs-Webanwendung muss ich dem Kreditgeber die Angebotsdaten zeigen, die er dem Kreditnehmer vorgelegt hat. Um die Anzeigetabelle jedoch vollständig zu machen, sind Informationen aus zwei verschiedenen Tabellen in der Datenbank erforderlich. Was soll ich tun? tun

Mein Verantwortlicher Kreditkontrolleur

function beggers()
{
    // obtaining loop from different sources
    $user = auth()->user();
    $user_id = ($user->id);/* this calls for data of logged in user */

    $ubids = Bid::select('loan_id')->where('user_id',$user_id);
    $userbids = Loan_requests::where('id',$ubids)->get();
    
    $beg = Loan_requests::all(); 
    return view('beggers',['beg'=>$beg,'userbids'=>$userbids]);


}

Verwenden Sie die foreach-Schleife, um die Seite anzuzeigen beggers.blade.php

<h2>Deals Interested in</h2>
<table border="1">
    <tr>
        <td>Loan Id</td>
        <td>Begger</td> //this is the users name
        <td>Loan Type</td>
        <td>Amount</td>
        <td>View More</td>
        <td>status</td>
    </tr>

    @foreach ($userbids as $userbids)
    <tr>
        <td>{{ $userbids['id'] }}</td>
        <td>..</td>
        <td>{{ $userbids['LoanType'] }}</td>
        <td>{{ $userbids['amount'] }}</td>
        <td>..</td>
        <td>..</td>
    </tr>   
    @endforeach 
</table>

Verantwortungsbewusste Uhr Kreditanfrage

Schema::create('loan_request', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('users_id');
            $table->integer('LoanType');
            $table->Biginteger('amount');
            $table->string('PayType');
            $table->integer('IntervalPay');
            $table->string('GracePeriod');
            $table->timestamps();
            $table->foreign('users_id')
            ->references('id')->on('users')->ondelete('cascade');
        });

und Benutzer

Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->boolean('role')->nullable( );
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken()->nullable();
            $table->timestamps();
        });

Was ich also in der Schleife wirklich möchte, ist, den tatsächlichen Benutzernamen des Bettlers in die Tabelle aufrufen zu können.

P粉025632437P粉025632437239 Tage vor417

Antworte allen(1)Ich werde antworten

  • P粉604507867

    P粉6045078672024-03-20 14:03:52

    问题是您使用与变量相同的集合

    @foreach ($userbids as $userbids)
        
            {{ $userbids['id'] }}
            ..
            {{ $userbids['LoanType'] }}
            {{ $userbids['amount'] }}
            ..
            ..
           
        @endforeach

    在此代码中,请参阅您使用相同名称的@foreach($userbids as $userbids)。只需更改代码即可

    @foreach ($userbids as $userbid)
            
                {{ $userbid->id }}
                ..
                {{ $userbid->LoanType }}
                {{ $userbid->amount }}
                ..
                ..
               
            @endforeach

    laravel get() 函数返回一个集合而不是数组,以防您想将其更改为数组

    $userbids = Loan_requests::where('id',$ubids)->get()->toArray();

    Antwort
    0
  • StornierenAntwort