gpt4 book ai didi

php - 如何更新记录 'pay' laravel?

转载 作者:行者123 更新时间:2023-11-29 10:49:18 26 4
gpt4 key购买 nike

我试图在按下表行中的按钮后更新数据库中的“付款”记录,但按下按钮时会显示此错误:

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com