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'