@stdio96

Есть-ли в Laravel авто-создание связей в моделях?

Здравствуйте. В миграциях в Laravel можно указать вторичный ключ (foreign key). Есть 2 вопроса:

  1. Можно-ли создать 2 вторичных ключа. Зачем? К примеру, есть задание и у него есть тот, кто его добавил и тот, кто его выполняет. Сейчас я делаю это так: в App\Task
    public function developerr()
        {
            return $this->belongsTo('App\User', 'developer');
        }
    
        public function senderr()
        {
            return $this->belongsTo('App\User', 'sender');
        }

    А в App\User ничего не указываю. При этом все работает. Но у меня сомнения: является-ли такое решение оптимальным.
  2. После указания в миграциях вторичного ключа можно-ли в моделях написать просто
    миграция
    ...
                $table->foreign('sender')->references('id')->on('users');
                $table->foreign('developer')->references('id')->on('users');

    где-то в контроллере
    $task = \App\Task::find(1);
    $task->developer->name;
    или для этого надо прописывать relationships как выше?


Спасибо.
  • Вопрос задан
  • 266 просмотров
Пригласить эксперта
Ответы на вопрос 1
abler98
@abler98
Software Engineer
В Laravel и так много "магии", нужно хоть что-то самому делать, или совсем лень?
Ответ: нужно прописывать все зависимости самому, это и есть оптимальное решение.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы