Informations provenant de plusieurs tables dans une boucle foreach. laravel 8
P粉025632437
P粉025632437 2024-03-19 17:02:42
0
1
467

Je pense essayer de créer une table qui passe par une boucle foreach qui doit sélectionner les données associées dans deux tables distinctes.

Situation réelle, en créant une application Web de gestion de prêts, je dois montrer au prêteur les données d'offre qu'il a faites à l'emprunteur, mais pour que le tableau d'affichage soit complet, il a besoin d'informations provenant de deux tables différentes dans la base de données, que dois-je faire

Mon responsable Contrôleur de prêt

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]);


}

Utilisez la boucle foreach pour afficher la page 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>

Veille responsable Demande de prêt

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');
        });

et Utilisateur

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();
        });

Donc, ce que je veux vraiment dans la boucle, c'est pouvoir appeler le nom d'utilisateur réel du mendiant dans le tableau.

P粉025632437
P粉025632437

répondre à tous(1)
P粉604507867

Le problème est que vous utilisez la même collection que la variable

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

Dans ce code, voyez votre @foreach($userbids as $userbids) en utilisant le même nom. Changez simplement le code

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

La fonction laravel get() renvoie une collection au lieu d'un tableau au cas où vous souhaiteriez la changer en tableau

$userbids = Loan_requests::where('id',$ubids)->get()->toArray();
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal