使用一对多关系建模对象(PHP)

时间:2014-11-13 18:26:12

标签: php class oop relational-database

我试图强迫自己在建模对象时保持一致,但我不确定创建一个具有一对多关系的类的最佳方法是什么。

例如,假设我在名为Projects&的数据库中有两个表。笔记。注释只能属于一个项目,项目可以有很多注释。以下是建立项目类的好(最好)方法吗?或者是否应将注释设置为控制器中的单独变量,而不是项目的属性?

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 个答案:

答案 0 :(得分:1)

我认为Note模型中应该有一个属性可以引用Project模型。模型的标识符必须是整数类型

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

所以当你添加一个ID = 5的项目时,你可以添加带有project_id = 5的Notes。它将是一对多的关系。