2016-08-16 1 views
0

j'ai une question sur la façon d'accomplir cette tâche ..résultat de répétition de requête Laravel 4 fois

Comment puis-je répéter le résultat d'une requête 4 fois, puis ajouter un nom à partir d'autres bases de données .. s'il vous plaît vérifier ce joindre image.

enter image description here

i ont une base de données pour le numéro de vol. et une base de données pour le nom de l'employé.

c'est mon code jusqu'à présent

@foreach ($daily_flight as $d_f) 
      {{ $d_f->flight_num}} 
    @endforeach 




    <table> 
    @foreach ($csa as $emp) 
      <tr> 
      <td>{{ $emp->name }}</td> 
      </tr> 
    @endforeach 
    </table> 
+0

Par base de données, vous voulez dire table? –

+0

@Poiz Espérons que –

Répondre

0

Imaginons que vous avez 2 tables: vols et employés. Imaginons également que le tableau flights a columns comme id, flight_num, etc. Simultanément nous supposons également que le tableau employees contiennent des domaines tels que: id, flight_id, name, etc. Maintenant, travaillant sous cette condition arbitraire, on peut simplement écrire une requête qui joint les 2 tables condition qu'il y ait une sorte de JoinCondition qui peut être établi entre le 2 - par exemple: ON employees.flight_id=flights.id.

Ce serait comment faire cela à partir du contrôleur:

<?php 

    namespace App\Http\Controllers; 

    use App\Http\Requests; 
    use App\User; 
    use App\Flights;  //<== JUST SOME ARBITRARY IMPORTS... MODIFY TO SUIT YOU 
    use App\Employees;  //<== JUST SOME ARBITRARY IMPORTS... MODIFY TO SUIT YOU 
    use Illuminate\Support\Facades\App; 
    use Illuminate\Support\Facades\DB; 
    use Illuminate\Support\Facades\URL; 


    class FlightsController extends Controller { 


     public function flightSchedule(){  //<== ANOTHER ARBITRARY ACTION METHOD 
      // ASSUME FOR AN INSTANT THAT YOU HAVE 2 TABLES: 
      // 1.) flights 
      // 2.) employees 
      // YOU COULD USE THE join CLAUSE TO JOIN THE 2 TABLES TOGETHER 
      $flightData = DB::table('flights') 
         ->join('employees', 'employees.flight_id', '=', 'flights.id') 
         ->select('flights.*', 'employee.*') 
         ->groupBy('employees.name') 
         ->get(); 

      // THEN ONCE YOU HAVE YOUR RESULT, IT WOULD BE ONLY 
      // A MATTER OF LOOPING THROUGH THE RESULT-SET IN THE VIEW SCRIPT 
      // AND STRUCTURING YOUR MARK-UP AS YOU SEE FIT LIKE THIS: 

      return view("flights.schedule", array("flightData"=>$flightData)); 
     } 

    } 

Maintenant, dans votre script de vue dans notre exemple arbitraire; flights/schedule.blade.php

<!-- FICTITIOUS FILE-NAME=> flights/schedule.blade.php --> 

    <table> 
     <tr> 
      <th>FLIGHT NUMBER</th> 
      <th>ASSIGNED EMPLOYEE</th> 
     </tr> 
     <tbody> 
      @foreach($flightData as $data) 
       <tr> 
        <td>{{ $data->flight_num }}</td> 
        <td>{{ $data->name }}</td> 
       </tr> 
      @endforeach; 
     </tbody> 
    </table> 
+0

bonjour merci pour votre explication et votre réponse. fondamentalement, la logique dont j'ai besoin est. Foreach NUMÉRO DE VOL J'ai besoin de 4 EMPLOYÉS. oui j'ai table de vol et table des employés. donc d'abord mal montrer tout le numéro de vol, puis affecté 4 employés chacun – Nixxx