northestknight 发表于 2012-8-28 09:51:19

关于PHP的ORM持久层问题

  各位大侠,关于PHP的Model层  我有个小疑问
  比方说现在有这样一个需求.给定一个user表, 一个user_status表,你可以看作在人人网中的用户表和用户发的状态表.比方说我打开人人网的首页,可以获取我好友的全部状态信息,然而每个状态信息里面肯定要包括发状态者的姓名和头像,
  如果是在java 里 根据javabean的特性我可以通过user_status.user.name等类似的方式,通过关系对象访问获取user的数据,但是在php中,比方说CI框架,数据库的内容大部分是通过数组进行访问的,比如$row['name'],$row['image_url']等,
  现在问题来了,既然PHP是以数组访问数据库内容的,那么怎样才能像java那样灵活地运用关系数据的特性呢,还是说,我在设计数据表的时候要在user_status里添加user_name,user_image_url等冗余字段方便访问?

northestknight 发表于 2012-8-28 10:03:17

注:user表和user_status表是通过user_id进行连接的

yunnysunny 发表于 2012-8-28 12:45:51

php哪有什么真正的持久层,人家hibernate里面可以缓存数据到内存呢,php行吗?

yunnysunny 发表于 2012-8-28 12:47:10

user_status.user.name
$user_status['user']['name']

northestknight 发表于 2012-8-28 12:56:06

yunnysunny 发表于 2012-8-28 12:47 static/image/common/back.gif
user_status.user.name
$user_status['user']['name']

$user_status['user'] = $this->user_model->get_user_by_id($user_status['user_id']); 是这个意思玛

northestknight 发表于 2012-8-28 13:01:53

yunnysunny 发表于 2012-8-28 12:45 static/image/common/back.gif
php哪有什么真正的持久层,人家hibernate里面可以缓存数据到内存呢,php行吗? ...

缓存数据。。。要不就memcache?

yunnysunny 发表于 2012-8-28 15:29:51

northestknight 发表于 2012-8-28 12:56 static/image/common/back.gif
$user_status['user'] = $this->user_model->get_user_by_id($user_status['user_id']); 是这个意思玛 ...

user_status.user.name
你这一串点,我也不知道你要表达什么意思,所以就转化为php中的多维数组结构了。

northestknight 发表于 2012-8-28 15:35:28

yunnysunny 发表于 2012-8-28 15:29 static/image/common/back.gif
user_status.user.name
你这一串点,我也不知道你要表达什么意思,所以就转化为php中的多维数组结构了。 ...

我假设在java里 有一个user_status类,在这个类中,又包含user类,通过这个方法实现关系对象
页: [1]
查看完整版本: 关于PHP的ORM持久层问题