Laravel 5 Macroable.php第74行中的BadMethodCallException:方法专门化不存在
我得到这个小问题。下面是源代码 医生型号:Laravel 5 Macroable.php第74行中的BadMethodCallException:方法专门化不存在,laravel-5,laravel-5.3,Laravel 5,Laravel 5.3,我得到这个小问题。下面是源代码 医生型号: class Doctor extends Model { ...... .... public function specialization() { return $this->HasMany('App\Specialization'); } } class Specialization extends Model { ...... .... public function doctor () {
class Doctor extends Model {
......
....
public function specialization() {
return $this->HasMany('App\Specialization');
}
}
class Specialization extends Model {
......
....
public function doctor () {
return $this->belongsTo('App\Doctor', 'id');
}
}
专业化模式:
class Doctor extends Model {
......
....
public function specialization() {
return $this->HasMany('App\Specialization');
}
}
class Specialization extends Model {
......
....
public function doctor () {
return $this->belongsTo('App\Doctor', 'id');
}
}
专业化模式:这里的spec_id是一个外键
class DoctorController extends Controller
{
......
....
//Create a Doctor
public function createDoctor(Request $request) {
$doctor = new Doctor();
$doctor->doctor_id = $request->input('doctor_id');
// $doctor->spec_id = $request->input('spec_id');
$doctor->spec_id = $request->specialization()->id;
$doctor->dob = $request->input('dob');
$doctor->age = $request->input('age');
$doctor->gender = $request->input('gender');
$doctor->qualification = $request->input('qualification');
$doctor->experience = $request->input('experience');
$doctor->phone_number = $request->input('phone_number');
// $doctor->email = $request->user()->email;
$doctor->email = $request->input('email');
// $doctor->user_id = $request->user()->user_id;
$doctor->user_id = $request->input('user_id');
$doctor->save();
return response()->json(['doctor' => $doctor], 201);
}
}
请告诉我如何修复它。错误很可能来自
…=$请求->专门化()->id代码>其中不存在专门化()方法。错误消息还提到了Macroable,这使我相信您在方法签名中暗示了请求外观的类型,而不是正确的illighted\Http\Request
类型
检查文件顶部的使用语句。我认为在请求没有专门化的情况下,您可以尝试使用日志,以了解请求有什么功能。请求$request
不是一个雄辩的模型
尝试使用$doctor而不是$request
$doctor->specialization->id
,我确信您能够获得id
此外,HasMany拼写错误。更改'H'->'H'