Как установить связь между родителем и потомком из одной «пользовательской» таблицы в laravel - PullRequest
0 голосов
/ 03 января 2019

Я создаю систему управления школой, мне говорят просто сделать одну «пользовательскую» таблицу вместо того, чтобы создавать разные таблицы ученика, родителя и учителя.Я запутался, как я могу зарегистрировать учащегося в отношении его родителя. Я создаю этот проект с использованием фреймворка Laravel 5.7

1 Ответ

0 голосов
/ 03 января 2019

Ну, чтобы связать объект класса A с родителем того же класса (A), вам просто нужно установить его в атрибуте:

students схема таблицы

id
parent_id // <--- this is the key.
name
...

/**
* this addional (and optional) attribute can help you to identify
* if this is the parent of the branch, because with
* this approach you can have grandchilds and so on..
**/
is_root // <---

Тогда в вашей модели:

User.php

public function parent()
{
    return $this->belongsTo(User::class, 'parent_id');
}

Теперь, что касается типа пользователя, вы также можете установитьатрибут для определения типа пользователя:

id
parent_id
name
type // <-- this could show the user type: 'student', 'teacher', etc
...