php - 数据值检索与数据库中的不同 - Laravel
问题描述
我创建了 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 = Lecture_id)
protected $primaryKey = 'student_id';
public function User()
{
return $this->belongsTo(User::class,'user_id');
}
家庭控制器
public function index()
{
$type = Auth::user()->type;
dd($type);
}
解决方案
检查这个。只是假设
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
}
检查一次模型类名称。
推荐阅读
- java - “对于任何给定对象,JVM 永远不会多次调用 finalize 方法”的含义。在对象复活的情况下?
- html - HTML First column 明智的着色和对齐中心
- elixir - `Ecto.Schema.Metadata` 的目的是什么?(即,`__meta__` 字段)
- node.js - 如何在 tensorflow.js 中构建和训练序列 2 序列模型
- indexing - Xcode 10 索引问题,可能是新构建系统引起的
- stm32 - 在 stm32f446 中,如果有 8 个独立的 DMA 通道可用,那么如何同时运行 8 个 DMA?
- java - 如何用杰克逊反序列化匿名抽象类?
- html - Bootstrap 悬停和切换折叠菜单在 Rails 应用程序中不起作用
- html - 如何在草图软件上发送 whatsapp 图像?未共享
- android - Bootstrap 下拉菜单在 Android 上不起作用