作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在按下表行中的按钮后更新数据库中的“付款”记录,但按下按钮时会显示此错误:
ErrorException in 0db55b8fee884912074e1a4700061051aeb18bcc.php line 15: Undefined variable: users (View: /Users/mauricio/code/cnr/resources/views/pages/users.blade.php)
我不知道为什么当我之前在 Blade 文件中使用过 users 变量时它会给我这个错误。
这是我的注册 Controller :
<?php
namespace App\Http\Controllers;
use DB;
use App\User;
class RegistrationController extends Controller
{
public function updatePay(User $id)
{
DB::table('users')->where('id', $id)->update(['pay' => 1]);
return view('pages.users');
}
}
欢迎 Controller :
public function usersAdmin()
{
$users = DB::table('users')->get();
return view('pages.users', compact('users'));
}
路线文件:
// for admin only
Route::get('/users', 'WelcomeController@usersAdmin');
Route::post('/users/{id}', 'RegistrationController@updatePay');
这是我的观点
@extends('layouts.master')
@section('content')
<table class="highlight">
<thead>
<tr>
<th data-field="id" hidden="">ID</th>
<th data-field="name">Nombre</th>
<th data-field="last_name">Apellidos</th>
<th style="text-align: right;">Acciones</th>
</tr>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<td>{{$user->id}}</td>
<td>{{$user->name}}</td>
<td>{{$user->last_name}}</td>
<td style="text-align: right; width: 30em">
@if( $user->isAdmin )
{{"ADMINISTRADOR"}}
@elseif( $user->pay )
<a class="waves-effect waves-light btn yellow darken-2"><i class="material-icons left" style="margin:0">create</i></a>
<a class="waves-effect waves-light btn red darken-1"><i class="material-icons left" style="margin:0">delete</i></a>
@else
<form method="POST" action="/users/{{$user->id}}">
{{ csrf_field() }}
<button type="submit" class="waves-effect waves-light btn green lighten-1"><i class="material-icons left" style="margin:0">done</i></button>
</form>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
@endsection
最佳答案
您需要检索用户并将其发送到类似如下的 View :
Controller :
public function methodName()
{
$users = User::all();
return view('path.to.view')->with(compact('users'));
}
此外,您有两种选择:
第一
public function updatePay($id)
第二
public function updatePay(User $user)
{
DB::table('users')->where('id', $user->id)->update(['pay' => 1]);
而不是 return view('pages.users');
在 updatePay 中使用
方法。return redirect()->url('users');
关于php - 如何更新记录 'pay' laravel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44037524/
我是一名优秀的程序员,十分优秀!