我正在开发一个基于CodeIgniter和MySQL的项目。我需要建立CodeIgniter查询的建议。
我想要实现的目标:
我有3个表,profile
,activity
和friends
。这些表的结构是:
配置文件
user_id | name
活性
activity_id | message | user_id | sharewith | createdtime
朋友
id | user1 | user2 | arefriends
现在我想根据用户分享的对象向所有人/朋友的墙显示所有用户的帖子。我只有两种分享选项,与所有人共享或仅与朋友分享。
与所有人共享我将1
存储在<{>}活动的sharewith
列1>}中user_id
和{{1} 仅与朋友分享。
到目前为止,我已构建此查询:
2
如何修改此查询以显示与所有人共享的所有活动或仅与朋友分享?
提前致谢。
答案 0 :(得分:0)
似乎唯一需要的是WHERE子句。 如果用户不是朋友,他们应该只能看到“与所有人分享”活动。
function load_activity() {
$user_id=$this->session->userdata('user_id');
$this->db->select('*');
$this->db->from('activity');
$this->db->order_by("activity_id", "desc");
$this->db->limit(15);
$this->db->join('profile', 'profile.user_id = activity.user_id');
if(!IS_FRIEND) {
$this->db->where('sharewith', 1);
}
$query = $this->db->get();
foreach ($query->result() as $row){
$data[]=$row;
}
echo json_encode($data);
}