我有两个具有父子一对多关系的mysql表:
CREATE TABLE a (
id int(11) unsigned NOT NULL,
a1 varchar(63) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE b (
id int(11) unsigned NOT NULL,
a_id int(11) unsigned NOT NULL,
b1 varchar(63) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (id),
FOREIGN KEY (a_id) REFERENCES a(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
我现在想将这个关系数据模型转换为面向对象的类。
我已经为表a创建了一个带有getter和setter的php类:
class A {
/*
* @var int
*/
private $id;
/*
* @var string
*/
private $a1;
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @param mixed $id
* @return A
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* @return mixed
*/
public function getA1()
{
return $this->wrd;
}
/**
* @param mixed $a1
* @return A
*/
public function setA1($a1)
{
$this->a1 = $a1;
return $this;
}
}
表b中的一个:
class B {
/*
* @var int
*/
private $id;
/*
* @var string
*/
private $b1;
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @param mixed $id
* @return B
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* @return mixed
*/
public function getB1()
{
return $this->b1;
}
/**
* @param mixed $b1
* @return B
*/
public function setB1($b1)
{
$this->b1 = $b1;
return $this;
}
}
现在我不知道如何将外键a_id转换为面向对象的模型。 我应该在A级还是B级添加一些东西? 有关如何进行的任何建议吗?
答案 0 :(得分:-1)
在B类中创建私有财产$a
和公共getter / setter。然后应该获得/设置A类。