Maison > Questions et réponses > le corps du texte
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粉6045078672024-03-20 14:03:52
Le problème est que vous utilisez la même collection que la variable
@foreach ($userbids as $userbids)@endforeach {{ $userbids['id'] }} .. {{ $userbids['LoanType'] }} {{ $userbids['amount'] }} .. ..
Dans ce code, voyez votre @foreach($userbids as $userbids)
en utilisant le même nom. Changez simplement le code
@foreach ($userbids as $userbid)@endforeach {{ $userbid->id }} .. {{ $userbid->LoanType }} {{ $userbid->amount }} .. ..
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();