我已经创建了3张桌子。用户,学生和讲座。根据用户表上的类型,用户可以是学生或讲座。学生类型=“ std”,而演讲类型=“ lct”。问题是,当我作为演讲者登录时,类型值将始终为“ std”,即使在数据库中为“ lct”。 Laravel的新功能。谢谢
用户表
user_id | password | type
a123 | 1234 | std
b345 | 1234 | lct
学生桌
student_id | name
a123 | david
演讲台
lecture_id | name
b345 | Mr Steve
用户模型
protected $primaryKey = 'user_id';
public function student(){
return $this->hasOne(student::class,'student_id');
}
public function lecture(){
return $this->hasOne(lecture::class,'lecture_id');
}
学生模型(课程模型也有此模型,但PK =演讲者ID)
protected $primaryKey = 'student_id';
public function User()
{
return $this->belongsTo(User::class,'user_id');
}
HomeController
public function index()
{
$type = Auth::user()->type;
dd($type);
}
答案 0 :(得分:0)
检查此。只是假设
protected $primaryKey = 'user_id';
public function student(){
return $this->hasOne(Student::class,'student_id'); // It should be Student not student I guess (Capital S)
}
public function lecture(){
return $this->hasOne(Lecture::class,'lecture_id'); // Lecture not lecture
}
一次检查您的模型类名称。