【问题标题】:(1/1) ErrorException Undefined index: id in ClientController.php (line 81)(1/1) ErrorException Undefined index: id in ClientController.php (line 81)
【发布时间】:2023-08-08 11:48:01
【问题描述】:

我不确定为什么会收到此错误。这是ClientController中的方法。

protected function updateOneStudent($parameters)
{
  $studentId = $parameters['id'];
  return $this-  >performPutRequest("https://lumenapi.juandmegon.com/students/{$studentId}", $parameters);
}

基本上我正在尝试更新选定的学生。以下是更新表格。

@extends('layouts.master')

 @section('content')
 <form action="{{url('/student/update')}}" method="POST" role="form">
     {{ csrf_field() }}

{{method_field('PUT')}}
<legend>Create a Student</legend>
<div class="form-group">
  <label for="">Name</label>
  <input type="text" class="form-control" name="name" value="{{$student->name }}"required="required">
</div>
<div class="form-group">
  <label for="">Address</label>
  <input type="text" class="form-control" name="address" value="{{$student->address }}" required="required">
</div>
<div class="form-group">
  <label for="">Phone</label>
  <input type="text" class="form-control" name="phone" value="{{$student->phone }}" required="required">
</div>
<div class="form-group">
  <label for="">Career</label>
  <select name="career" class="form-control" required="required">
    <option>Select a Career</option>
    <option value="math"{{$student->career == 'math' ? 'selected' : ''}}>Math</option>
    <option value="physics"{{$student->career == 'physics' ? 'selected' : ''}}>Physics</option>
    <option value="engineering"{{$student->career == '' ? 'engineering' : ''}}>Engineering</option>
  </select>
</div>
<button type="submit" class="btn btn-primary">Update Student</button>
</form>

  @endsection

【问题讨论】:

  • “(1/1)”指的是什么?
  • 这是 Laravel 错误页面中出现的内容。
  • 我认为这只是一个错误,但你有没有看到“return $this->performPutRequest("lumenapi.juandmegon.com/students{$studentId}", $parameters);"箭头是分开的?
  • 什么是$parameters
  • if (! isset($parameters['id'])) throw new \Exception('Well that won't work'); 就好像错误在告诉你出了什么问题 ;)

标签: php api laravel-5.4 guzzle


【解决方案1】:

我发送的请求是错误的。错误出现在 StudentController 中。 我有

public function getUpdateStudent()
{
  $students = $this->obtainAllStudents;
  return view('students.select-student', ['students'=> $students]);
}

应该是这样的

public function getUpdateStudent()
{
  $students = $this->obtainAllStudents();
  return view('students.select-student', ['students'=> $students]);
}

我错过了调用 getUpdateStudent 的括号。抱歉,我之前没有显示此代码。

【讨论】: