【问题标题】:Laravel 5.2 Showing a table using a .blade viewLaravel 5.2 使用 .blade 视图显示表格
【发布时间】:2017-10-07 16:51:54
【问题描述】:

我有我的数据库,已经迁移了所有内容,我的代码可以在需要时在我的表中记录新条目,等等。

我有一个表格,内容如下:'id'、'name'、'lastname'、'email'、'phone'、'address'。

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

我需要这方面的帮助,拜托。 谢谢。

【问题讨论】:

  • 当您点击提交按钮时,您是否将其发送到控制器,将详细信息保存到数据库,然后返回 view.blade.php?
  • 观看本教程:它是黄金。 laracasts.com/series/laravel-5-fundamentals
  • 是的,萨普尼什。我点击提交,将数据发送到我的数据库,然后我被重定向到 view.blade.php。但这把刀刃是空白的,里面什么都没有。我想在这里展示我的桌子。

标签: php laravel laravel-5.2 blade laravel-blade


【解决方案1】:

在您将新记录存储到表后立即在您的控制器函数中执行此操作。 假设您的型号名称是 User

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

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

将此用户变量传递给查看(假设您的 view.blade.php 位于 resources/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>

【讨论】:

  • 在启动foereach之前,您需要始终检查用户数是否大于0!
  • 是的,米希尔。由于我的表已经有一些信息(我在单独的程序 DBeaver 中查看它),我忽略了它,但这是一个很好的输入。谢谢。
【解决方案2】:

//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', 'YourController@index')->name('showForm');
Route::post('/submitForm', 'YourController@index')->name('submitForm');
Route::get('/showAllusers', 'YourController@index')->name('showAllusers');

?>

【讨论】:

  • 它工作!谢谢!
【解决方案3】:

我应该编写这段代码来显示所有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>

【讨论】:

    猜你喜欢
    • 2017-01-27
    • 2017-02-17
    • 2016-06-21
    • 1970-01-01
    • 2018-05-15
    • 2013-06-01
    • 2017-01-07
    • 2021-09-04
    • 1970-01-01
    相关资源
    最近更新 更多