我有4个班,每个都有自己的数据库表:表连接翻过多个数据库表和对象在PHP和MySQL
- GlobalObject
- 图片
- 项目
- 页
GlobalObject有3个属性
- global_object_id
- added_by
- datetime_added
映像,项目和页面有许多不同的领域,它们都具有虽然以下几点:
- ID
- global_object_id(外键)
目前,我的类结构有图像,项目和页面作为GlobalObject类的子类,这允许3个子类访问所需的变量,datetime_added等。
我应该如何设置属性PHP和MySQL?目前,所有字段(包括global_object表中的字段)都位于每个部分的表中(global_object_id除外,这是在没有新表的情况下不能存在的 - 这也是为什么我需要这样做),所以我要求从Image中获取数据例如,它包括父类中的所有属性,并使用parent :: set_by_row($ database_args)和$ this-> set_by_row($ database_args)来设置。
在我做了以下(使用图像为例)的时刻:
class Image extends GlobalObject
{
$id;
$title;
function set_by_id($id)
{
// Select Q from Image table
$this->set_by_row($db_result);
}
function set_by_row($args)
{
parent::set_by_row($args);
// Set class properties
}
}
要重申:我希望能够做到以下几点:
$image = new Image()
$image->set_by_global_object_id(23);
而且图像是包括父类中的所有内容(存储在单独的表中)
请询问是否有任何不清楚的地方。
我不知道,你就完蛋了。您是否在使用任何对象关系映射库,如Doctrine?或者你想建立自己的?也许这个链接将有助于:[SO - 良好的PHP ORM库?](http:// stackoverflow。com/questions/108699/good-php-orm-library) – bfavaretto 2012-03-08 18:54:55
全是我自己的。基本上,我希望父类可以通过与子类不同的表来设置,但是在设置子类后所有的属性都可用。 – Alex 2012-03-08 18:56:28
好的,但你需要特别帮助哪些方面?创建MySQL查询?创建你的类方法?都?如果它们都是,你的问题可能是广泛的stackoverflow ...和/或你应该使用这个第三方库。 – bfavaretto 2012-03-08 19:06:13