Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用一对多关系(PHP)建模对象_Php_Class_Oop_Relational Database - Fatal编程技术网

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

用一对多关系(PHP)建模对象,php,class,oop,relational-database,Php,Class,Oop,Relational Database,我试图强迫自己在建模对象时保持一致,但我不确定创建具有一对多关系的类的最佳方法是什么 例如,假设我在一个名为Projects&Notes的数据库中有两个表。一个注释只能属于一个项目,而一个项目可以有多个注释。以下是对我的项目类建模的好(最好)方法吗?还是应该将注释设置为控制器中的一个单独变量,而不作为project的属性 class Project extends BaseModel{ $id //string $description //string $notes //array

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

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

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));

我认为Note模型中应该还有一个属性将引用项目模型。模型的标识符必须是整数类型

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

所以当你添加一个项目时,比如ID=5,你可以添加项目ID=5的注释。这将是一对多的关系。

操作的预期结果是什么?所有类是否都应该将外键作为属性?