2017-05-09 5 views
1

Ich habe meine DB, bereits alles migriert, kann mein Code neue Einträge in meiner Tabelle bei Bedarf aufzeichnen, und so weiter.Laravel 5.2 Anzeigen einer Tabelle mit einer .Blade-Ansicht

Ich habe eine Tabelle mit den Inhalten: 'ID', 'Name', 'Nachname', 'E-Mail', 'Telefon', 'Adresse'.

Was ich will, ist, wenn Sie den Submit-Button drücken, werden Sie zu einer neuen 'view.blade.php' umgeleitet, wo Sie alle DB-Einträge sehen können, einschließlich der neuesten. ABER ich weiß nicht, wie ich diesen Code entwickeln soll, damit er funktioniert.

Ich brauche Hilfe, bitte. Danke.

+0

, wenn Sie Knopf drücken einreichen Sie es an einen Controller, Speichern Details zu db Senden und dann view.blade.php Rückkehr? –

+0

Sehen Sie dieses Tutorial: es ist Gold. https://laracasts.com/series/laravel-5-fundamentals – Amarnasan

+0

Ja, Sapnesh. Ich drücke senden, senden Sie die Daten an meine DB und dann werde ich auf die View.blade.php weitergeleitet. Aber diese Klinge ist leer, da ist nichts drin. Ich möchte meinen Tisch hier zeigen. –

Antwort

3

In Ihrer Controller-Funktion machen Sie dies direkt nach dem Speichern eines neuen Datensatzes in der Tabelle. den Namen Ihres Modells unter der Annahme User

alle Benutzerdatensätze von User-Modell holen,

$users = App\User::all(); 

Pass diese Variable Benutzer (vorausgesetzt, Ihr view.blade.php ist in resources/views Ordner)

return View::make('view', compact('users')); 
anzuzeigen

und dann in Ihrer view.blade.php können Sie so etwas tun, um alle Benutzerdatensätze anzuzeigen.

<table> 
    <thead> 
     <tr> 
      <th> id</th> 
      <th> name</th> 
      <th> last name </th> 
      <th> email </th> 
      <th> phone</th> 
      <th> adddress </th> 
     </tr> 
    </thead> 
    <tbody> 
     @foreach($users as $user) 
      <tr> 
       <td> {{$user->id}} </td> 
       <td> {{$user->name}} </td> 
       <td> {{$user->last_name}} </td> 
       <td> {{$user->email}} </td> 
       <td> {{$user->phone}} </td> 
       <td> {{$user->address}} </td> 
      </tr> 
     @endforeach 
    </tbody> 
</table> 
+0

SO EINFACH. Es klappt. Vielen Dank. = D –

+0

Sie müssen immer überprüfen, ob die Anzahl der Benutzer größer als 0 ist, bevor Sie foereach starten! –

+0

Ja, Mihir. Da meine Tabelle bereits einige Informationen enthielt (ich habe sie in einem separaten Programm, DBeaver, angesehen), habe ich es übersehen, aber das ist ein guter Input. Vielen Dank. –

0

//form.blade.php

<form method="post" action="{{ route('submitForm') }}"> 
    {!! csrf_field() !!} 
    <input type="text" name="name"/> 
    <input type="text" name="last_name"/> 
    <input type="text" name="email"/> 
    <input type="text" name="phone"/> 
    <input type="text" name="address"/> 
</form> 

<?php 
//app/Http/controllers/YourController.php 
namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\User; 

//user is your eloquent model 

class YourController extends Controller 
{ 

    //show user form 
    public function showForm() 
    { 
     return view('form'); 
    } 

    //post url for submit form 
    public function submitForm(Request $request){ 

     $this->validate($request, [ 
      'name' => 'required|min:2|max:30', 
      'lastname' => 'required|min:2|max:30', 
      'email' => 'required', 
      'phone' => 'required', 
      'address' => 'required' 
     ]); 

     $user = new User(); 
     $user->name = $request->name; 
     $user->lastname = $request->lastname; 
     $user->email = $request->email; 
     $user->phone = $request->phone; 
     $user->address = $request->address; 
     try{ 
      $user->save(); 

      return redirect()->route('showAllusers')->with('success', "User was successfully created..!"); 
     } 
     catch(Exception $e){ 
      return redirect()->back()->with('error', "Could not save the user!"); 
     } 
     return redirect()->back()->with('error', "Error Occured, please try again!"); 

    } 

    // after form submit, redirect to this page where all users will be showcased 
    public function showAllusers() 
    { 
     $users = User::all(); 

     return view('allusers', compact('users')); 
    } 

} 
?> 

//allusers.blade.php

@if($users->count > 0) 
    <table> 
     <thead> 
      <tr> 
       <th> id</th> 
       <th> name</th> 
       <th> last name </th> 
       <th> email </th> 
       <th> phone</th> 
       <th> adddress </th> 
      </tr> 
     </thead> 
     <tbody> 
      @foreach($users as $user) 
      <tr> 
       <td> {{$user->id}} </td> 
       <td> {{$user->name}} </td> 
       <td> {{$user->last_name}} </td> 
       <td> {{$user->email}} </td> 
       <td> {{$user->phone}} </td> 
       <td> {{$user->address}} </td> 
      </tr> 
      @endforeach 
    </tbody> 
    </table> 
@else 
    <p> No users found..</p> 
@endif 

//routes.php

<?php 
Route::get('/showForm', '[email protected]')->name('showForm'); 
Route::post('/submitForm', '[email protected]')->name('submitForm'); 
Route::get('/showAllusers', '[email protected]')->name('showAllusers'); 

?> 
+0

ES FUNKTIONIERT! Vielen Dank! –

0

ich sollte schreiben Dieser Code zur Anzeige aller users Tabellendaten:

//Function for store users data 

public fucntion store(Request $request){ 
    $insertData = DB::table('users')->insert(array(
               'name'=>$request->name, 
               'lastname'=>$request->lastname, 
               'email'=>$request->email, 
               'phone'=>$request->phone, 
               'address'=>$request->address 


)); 

return Redirect::to('/view') 

} 


//fucntion for display users data 
public fucntion view(){ 

$rsltUsers = User::get(); 

return view('view', compact('rsltUsers')); 


} 

view.blade.php

<table class="table table-striped table-bordered table-hover"> 
    <thead> 
    <tr> 
     <th>Name</th> 
     <th>Last Name</th> 
     <th>Email</th> 
     <th>Phone</th> 
     <th>Address</th> 
    </tr> 
    </thead> 
    <tbody> 
    @foreach($rsltUsers as $rsltUser) 
    <td>{!! $rsltUser->name !!}</td> 
    <td>{!! $rsltUser->lastname !!}</td> 
    <td>{!! $rsltUser->email !!}</td> 
    <td>{!! $rsltUser->phone !!}</td> 
    <td>{!! $rsltUser->address !!}</td> 

@endforeach 
    </tbody> 
</table> 
+0

Es funktioniert auch, vielen Dank. –

+0

@ G.Felicio Großartig, froh zu helfen. Wenn dies Ihre Antwort ist, markieren Sie diese als akzeptierte Antwort –

Verwandte Themen