2017-05-09 118 views
1

我有我的数据库,已经迁移了所有内容,我的代码可以在需要时在我的表中记录新条目,依此类推。Laravel 5.2使用.blade视图显示表

我有一个表,其中包括'id','name','lastname','email','phone','address'。

我想要的是,当你点击提交按钮时,你将被重定向到一个新的'view.blade.php',你可以在其中看到所有数据库的条目,包括最近的条目。但我不知道如何开发这个代码来使它工作。

我需要帮助。 谢谢。

+0

你把它发送到控制器,节电细节分贝,然后再返回view.blade.php? –

+0

观看本教程:它是黄金。 https://laracasts.com/series/laravel-5-fundamentals – Amarnasan

+0

是的,Sapnesh。 我点击提交,发送数据到我的数据库,然后我重定向到view.blade.php。 但是这个刀片是空白的,里面没有任何东西。我想在这里展示我的桌子。 –

回答

3

在您的控制器功能中,在将新记录存储到表格后执行此操作。 假设您的型号名称是User

从用户模型中获取所有用户的记录,

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

通过这个用户变量查看(假设你的view.blade.phpresources/views文件夹)

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

然后在你的view.blade.php你可以做这样的事情来显示所有的用户记录。

<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

这么简单。有用。 非常感谢。 = D –

+0

在开始外泄之前,您需要经常检查用户数是否大于0! –

+0

是的,Mihir。由于我的表已经有了一些信息(我正在一个单独的程序中查看它,DBeaver),我忽略了它,但这是一个很好的输入。谢谢。 –

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

它工作!谢谢! –

0

我应该写此代码用于显示所有users表数据:

//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

它也有效,非常感谢。 –

+0

@ G.Felicio太好了,很高兴帮助。如果这是您的答案,请将其标记为已接受的答案 –