我想在我的网站上发私信。我希望用户可以删除收到或发送的消息。我需要两个表,一个用于发送消息,一个用于receive....Is,这样当用户发送消息时,它会自动添加两个表?或者更好的做法是与表建立一些关系?或者可能存在更好的解决方案?
发布于 2011-06-29 22:30:58
我想你只需要一张桌子:
Message:
columns:
from: integer
to: integer
header: string(100)
body: blob
show_in_outcoming:
type: boolean
default: true
show_in_incoming:
type: boolean
default: true
is_read:
type: boolean
default: false
UserFrom:
class: sfGuardUser
local: from
foreign: id
foreignType: one
type: one
UserTo:
class: sfGuardUser
local: to
foreign: id
foreignType: one
type: one哪里
如果发送消息的用户想要删除它,我们只需隐藏它(而不是从数据库中删除)-将show_in_outcoming设置为false。如果收到消息的用户想要删除它,我们也将其隐藏起来--将show_in_incoming设置为false。这种方法允许我们恢复“隐藏的”消息(或者完全删除它们)
发布于 2011-06-29 21:43:14
也许,您应该创建一个消息表,与用户表有两个关系:
message:
columns:
user_emitter_id: ...
user_reciever_id: ...
body: ...
relations:
userEmitter:
class: user
local: user_emitter_id
foreign: id
userReciever:
class: user
local: user_reciever_id
foreign: id发布于 2011-06-29 21:56:44
有一个symfony插件可以让你做到这一点。检查sfSocialPlugin。
https://stackoverflow.com/questions/6520922
复制相似问题