laravel 当我试图更新信息时,我收到了一个错误,如下图所示[已关闭]

ltqd579y  于 2023-02-20  发布在  其他
关注(0)|答案(1)|浏览(88)

**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
3天前关闭。
Improve this question
我有这个错误请帮助:
函数App\Http\Requests\ReservationStoreRequest::Illuminate\Foundation\Providers{闭包}()的参数太少,在第124行的E:\XAMPP\htdocs\resto_app\vendor\laravel\framework\src\Illuminate\Macroable\Traits\Macroable.php中传递了0个参数,而实际上应该是1个参数

<?php

namespace App\Http\Controllers\Admin;

use App\Enums\TableStatus;
use App\Http\Controllers\Controller;
use App\Http\Requests\ReservationStoreRequest; 
use App\Models\Reservation;
use App\Models\Table;
use Carbon\Carbon;
use Illuminate\Http\Request;

class ReservationController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $reservations = Reservation::all();
        return view('admin.reservations.index', compact('reservations'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
       // dd($tables);
        $tables = Table::where('status', TableStatus::Available)->get();
        return view('admin.reservations.create', compact('tables'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(ReservationStoreRequest $request)
    {
        $table = Table::findorFail($request->table_id);
        if($request->guest_number > $table->guest_number){
            return back()->with('warning', 'Please choose the table base on guests.');
        }
        $request_date = Carbon::parse($request->res_date);
        foreach ($table->reservations as $res) {
            if ($res->res_date->format('Y-m-d') == $request_date->format('Y-m-d')) {
                return back()->with('warning', 'This table base is reserved for this date.');
            }
        }
        Reservation::create($request->validated());

        return to_route('admin.reservations.index')->with('success', 'Reservation created successfully');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit(Reservation $reservation)
    {
        $tables = Table::where('status', TableStatus::Available)->get();
        return view('admin.reservations.edit', compact('reservation', 'tables'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(ReservationStoreRequest $request, Reservation $reservation)
    {
        $table = Table::findorFail($request->table_id);
        if($request->guest_number > $table->guest_number){
            return back()->with('warning', 'Please choose the table base on guests.');
        }
        $request_date = Carbon::parse($request->res_date);
        $reservations = $table->reservations()->where('id', '!=', $reservation->id)->get();
        foreach ($reservations as $res) {
            if ($res->res_date->format('Y-m-d') == $request_date->format('Y-m-d')) {
                return back()->with('warning', 'This table base is reserved for this date.');
            }
        }

        $reservation->update($request->validate());

        return to_route('admin.reservations.index')->with('success', 'Reservation updated successfully');

    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

这是我的看法

<x-admin-layout>
    <x-slot name="header">
        <h2 class="font-semibold text-xl text-gray-800 dark:text-gray-200 leading-tight">
            {{ __('Dashboard') }}
        </h2>
    </x-slot>

    <div class="py-12">
        <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
      <div class="flex m-2 p-2"> 
            <a href = "{{ route('admin.tables.index')}}"  
            class="px-4 py-2 bg-indigo-500 hover:bg-indigo-700 rounded-lg text-white" 
            style="background-color:blue;">Tables index</a>
        </div> 

        <div class="m-2 p-2 bg-slate-100 rounded" style="background-color:lightblue;">
        <div class="space-y-8 divide-y divide-gray-200 w-1/2 mt-10">
<form method="POST" action="{{ route('admin.reservations.update', $reservation->id)}}">
  @csrf
  @method('PUT')
<div class="sm:col-span-6">
<label for="first_name" class="block text-sm font-medium text-gray-700">First Name</label>
  <div class="mt-1">
<input type="text" id="first_name" name="first_name" value="{{ $reservation->first_name }}"
  class="block w-full appearance-none bg-white border border-gray-400 rounded-md py-2 px-3 text-base leading-normal transition duration-150 ease-in-out sm:text-sm sm:leading-5" />
</div>
@error('first_name')
    <div class="text-sm text-red-400">{{ $message }}</div>
@enderror
</div>

<div class="sm:col-span-6">
<label for="last_name" class="block text-sm font-medium text-gray-700">Last Name</label>
  <div class="mt-1">
<input type="text" id="last_name" name="last_name" value="{{ $reservation->last_name }}"
  class="block w-full appearance-none bg-white border border-gray-400 rounded-md py-2 px-3 text-base leading-normal transition duration-150 ease-in-out sm:text-sm sm:leading-5" />
</div>
@error('last_name')
    <div class="text-sm text-red-400">{{ $message }}</div>
@enderror
</div>

<div class="sm:col-span-6">
<label for="email" class="block text-sm font-medium text-gray-700">Email</label>
  <div class="mt-1">
<input type="email" id="email" name="email" value="{{ $reservation->email }}"
  class="block w-full appearance-none bg-white border border-gray-400 rounded-md py-2 px-3 text-base leading-normal transition duration-150 ease-in-out sm:text-sm sm:leading-5" />
</div>
@error('email')
    <div class="text-sm text-red-400">{{ $message }}</div>
@enderror
</div>

<div class="sm:col-span-6">
<label for="tel_number" class="block text-sm font-medium text-gray-700">Phone Number</label>
  <div class="mt-1">
<input type="text" id="tel_number" name="tel_number" value="{{ $reservation->tel_number }}"
  class="block w-full appearance-none bg-white border border-gray-400 rounded-md py-2 px-3 text-base leading-normal transition duration-150 ease-in-out sm:text-sm sm:leading-5" />
</div>
@error('tel_number')
    <div class="text-sm text-red-400">{{ $message }}</div>
@enderror
</div>

<div class="sm:col-span-6">
<label for="res_date" class="block text-sm font-medium text-gray-700">Reservation Date</label>
  <div class="mt-1">
<input type="datetime-local" id="res_date" name="res_date" 
value="{{ $reservation->res_date->format('Y-m-d\TH:i:s') }}"
  class="block w-full appearance-none bg-white border border-gray-400 rounded-md py-2 px-3 text-base leading-normal transition duration-150 ease-in-out sm:text-sm sm:leading-5" />
</div>
@error('res_date')
    <div class="text-sm text-red-400">{{ $message }}</div>
@enderror
</div>
<div class="sm:col-span-6">
<label for="guest_number" class="block text-sm font-medium text-gray-700"> Guest Number
  </label>
 <div class="mt-1">
 <input type="number" id="guest_number" name="guest_number" value="{{ $reservation->guest_number }}"
  class="block w-full appearance-none bg-white border border-gray-400 rounded-md py-2 px-3 text-base leading-normal transition duration-150 ease-in-out sm:text-sm sm:leading-5" />
 </div> 
 @error('guest_number')
    <div class="text-sm text-red-400">{{ $message }}</div>
@enderror   
 </div>

 <div class="sm:col-span-6 pt-5">
  <label for="status" class="block text-sm font-medium text-gray-700">Table</label>
  <div class="mt-1">
 <select id="table_id" name="table_id" class="form-multiselect block w-full mt-1">
 @foreach ($tables as $table)
  <option value="{{ $table->id }}" 
  @selected($table->id == $reservation->table_id)>{{ $table->name }}
    ({{ $table->guest_number }} Guests)
  </option>
  @endforeach
</select>
</div>
@error('table_id')
<div class="text-sm text-red-400">{{ $message }}</div> 
@enderror
</div>

<div class="mt-6 p-4">
<button type="submit" 
class="px-4 py-2 bg-indigo-500 hover:bg-indigo-700 rounded-lg text-white">Update</buttom>
</div>
  </form>  
</div>
        </div>
        </div>
    </div>
</x-admin-layout>
anauzrmj

anauzrmj1#

您的错误是在update方法中使用了$reservation->update($request->validate()),但它必须是$reservation->update($request->validated())(请参见validatevalidated

相关问题