【发布时间】:2014-06-06 11:49:55
【问题描述】:
我正在使用 codeigniter 开发内部邮件系统,一切都像 gmail 邮件系统一样完美完成,除了回复。
在这里,我想在单个邮件中显示已回复的消息和当前消息(如果邮件已回复),例如 gmail。
假设我有线程表,它与表消息有一对多的关系。
线程
thread_id | msg_id |发件人 ID |发件人角色 |接收者 ID | 接收者角色 |状态
消息
标识 |主题 |身体 |日期
上面的表格可以很好地显示收件箱和已发送的邮件。
但现在我想显示回复的消息以及原始消息。(如 gmail)。
为此,我打算更改线程表的结构(添加另外两个字段reply-0 或1,reply_id)
选择
subject,body,cdate,sender_id,usernameAS 电子邮件,lbs_mails.idAS mail_id,status,sender_role, thread_id FROM (lbs_mails) 加入lbs_threadsONlbs_threads.msg_id=lbs_mails.id加入lbs_auth开启lbs_auth.uid=lbs_threads.sender_idAND 角色 = lbs_threads.sender_role WHERElbs_threads.receiver_role= '3' 和lbs_threads.receiver_id= '1'
检索数据的一种有效方法是创建一个多维数组,例如:
$inbox = array(
[subject] => reply to Test Mail
[body] => reply to Test Mail
[cdate] => 2014-04-22 17:56:42
[sender_id] => 2
[email] => email@email.com
[mail_id] => 7
[status] => 1
[sender_role] => 2
[reply_id] => array(
[subject] => reply to Test Mail
[body] => reply to Test Mail
[cdate] => 2014-04-22 17:56:42
)
)
我怎样才能做到这一点,任何人都可以帮助我。 谢谢!
【问题讨论】:
标签: php mysql arrays codeigniter