gpt4 book ai didi

php - "Type error: Too few arguments to function App\Http\Controllers\UserController::attendance(), 0 passed and exactly 1 expected"

转载 作者:可可西里 更新时间:2023-10-31 22:50:49 25 4
gpt4 key购买 nike

我的数据库中有两个表,分别是用户表和出勤表。我现在想做的是根据用户在与他们的个人资料相关联的出勤 View 中显示数据库中的出勤数据。这是我在 userController 中的考勤功能。

 public function attendance($id)
{
$user = UserProfile::findOrFail($id);
$this->authorize('modifyUser', $user);

return view ('user.attendance', ['user'=>$user]);
}

这是我到出勤 View 的路径。

Route::get('/attendance/', ['as' => 'user.attendance', 'uses' => 'UserController@attendance']);

这是我的出勤 View 。

@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-12">
<h1><i class="fa fa-university"></i> Attendance</h1>
</div>

<div class="row">
<table class="table table-bordered">
<tr>
<th>No</th>
<th>Date</th>
<th>Time</th>
<th>Present</th>
</tr>

<?php $no=1; ?>

<tr>
<td>{{ $no++ }}</td>
<td>{{$user->attendance->date}}</td>
<td>{{$user->attendance->time}}</td>
<td>{{$user->attendance->present}}</td>
</tr>
</table>
</div>
</div>
</div>
@stop

这是我遇到的错误。类型错误:函数 App\Http\Controllers\UserController::attendance() 的参数太少,传递了 0 个,预期正好是 1 个”。我是 laravel 新手。

最佳答案

您收到此错误是因为 attendance() 方法需要一个 ID 而您没有传递它。将路线更改为:

Route::get('attendance/{id}', ['as' => 'user.attendance', 'uses' => 'UserController@attendance']);

并在创建指向 attendance() 方法的链接时传递一个 ID:

{{ route('user.attendance', ['id' => 1]) }}

或者:

{{ url('attendance/1') }}

如果要获取当前登录用户的 ID,请不要传递 ID。使用 auth()-user() 代替:

public function attendance()
{
$this->authorize('modifyUser', auth()->user());

return view ('user.attendance');
}

关于php - "Type error: Too few arguments to function App\Http\Controllers\UserController::attendance(), 0 passed and exactly 1 expected",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47726929/

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