Php 数据库继承Laravel 5.4
我期待着实现一个网站与教师,学生和家长处理。在我创建的数据库中,我创建了一个Php 数据库继承Laravel 5.4,php,database,laravel,laravel-5.4,Php,Database,Laravel,Laravel 5.4,我期待着实现一个网站与教师,学生和家长处理。在我创建的数据库中,我创建了一个用户表和3个子表:教师,学生,家长。 见下表结构 User table +--------+----------+----------+-------+ | id (PK)| username | password | email | +--------+----------+----------+-------+ | 1 | user1 | 123 | ... | +--------+--
用户
表和3个子表:教师
,学生
,家长
。
见下表结构
User table
+--------+----------+----------+-------+
| id (PK)| username | password | email |
+--------+----------+----------+-------+
| 1 | user1 | 123 | ... |
+--------+----------+----------+-------+
| 2 | user2 | 132 | ... |
+--------+----------+----------+-------+
| 3 | user3 | 321 | ... |
+--------+----------+----------+-------+
Student table
+---------------+--------------+
| users_id (PK) | class |
+---------------+--------------+
| 1 | highschool |
+---------------+--------------+
| 3 | middleschool |
+---------------+--------------+
Teacher table
+--------------+-------------------+---------------------+
| users_id (PK)| subscription_type | end_of_subscription |
+--------------+-------------------+---------------------+
| 2 | monthly | 2017-10-25 |
+--------------+-------------------+---------------------+
父表也有一个对应于用户id的PK。
我刚开始学习laravel,我真的很想知道我如何正确处理这个问题,也许是使用laravel 5.4的雄辩。我给你一些提示,我想你可以做休息,因为你的问题不具体,我猜你在想如何关联/连接表,所以
$student = Student::find($id) ;
$name = $student->user->name;
$email = $student->user->email ;
Or
$teachers = Teacher::where('subscription_type', 'monthly')->with(['user'])->get();
dd($teachers);
我认为你需要更新你的数据库结构,你需要pk&fk
柱分离
其中是学生表和教师表中用户表的FK。FK位于
users\u id
上users\u id
是表用户、教师和家长的主键,也是指用户的FK。在上面的评论中出错:users\u id
是表学生、教师和家长的主键,还有一个FK,它指的是用户。非常感谢您的帮助:)它解决了我的问题。谢谢你的建议,我将实现一个新的id列作为FK。拜伊
$student = Student::find($id) ;
$name = $student->user->name;
$email = $student->user->email ;
Or
$teachers = Teacher::where('subscription_type', 'monthly')->with(['user'])->get();
dd($teachers);