class — Моделирование объекта с отношениями один-ко-многим (PHP)

Я пытаюсь заставить себя быть последовательным при моделировании объектов, но я просто не уверен, что лучший способ — создать класс, имеющий отношения один ко многим.

Например, допустим, у меня есть две таблицы в базе данных под названием Проекты & Заметки. Заметка может принадлежать только одному проекту, а проект может иметь много заметок. Будет ли следующий (лучший) способ смоделировать мой класс проекта? Или примечания должны быть просто установлены в отдельной переменной в контроллере и никогда не быть свойством проекта?

class Project extends BaseModel{
$id //string
$description //string
$notes //array of note objects
}

class Note extends BaseModel{
$id //string
$text//string
}

//In a Controller Class
$project = new Project();
$noteArray = new Note();

//Set the note property of project equal to an array of note objects
$project->setNotes($noteArray->findNotes($project->id));

1

Решение

Я думаю, что в модели Note должно быть еще одно свойство, которое будет ссылаться на модель Project. Идентификаторы модели ДОЛЖНЫ быть целочисленным типом

class Note extends BaseModel{
$id //string
$text//string
$project_id //int
}

Поэтому, когда вы добавляете проект, скажем, с ID = 5, вы можете добавить Notes с project_id = 5. И это будет отношение один ко многим.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]