我有一个帖子,用户可以发送到另一个个人资料'在网站上,但在发布之前,它将被添加到其他随机用户的其他个人资料中。他必须批准这个帖子。 '随机用户'只有在他们已经遵循此“其他个人资料”的情况下,我们才会收到此提交以供审批。所以,我的问题是:
如何检查'随机用户'跟随其他一些个人资料'获得批准的新请求?
我试过这个:
another_profile跟随表(profile_follows):
profile_id | who_follow_id
21 5
发布该用户提交审批(posts_for_approve):
for_whom_id | submit_text | submit_author_id | post_id
21 some text 5 2
用户表(用户):
user_id
5
和包含可以批准的用户的表(users_can_approve):
post_id | user_id
2 5
在我的posts_model中我获得了所有用户:
function get_all_users()
{
$this->db->select('user_id');
$this->db->order_by('rand()');
$query = $this->db->get('users');
return $query->result_array();
}
在我的控制器中,我将收到所有将收到批准帖子的用户:
$all_users = $this->stories_model->get_all_users();
foreach ($all_users as $key) {
$send_approve['post_id'] = $edit;
$send_approve['user_id'] = '';
$this->db->insert('contribute_moderators', $send_approve);
}
这样可行,但在我的代码中,所有网站用户都会收到批准帖子,但我需要检查用户是否有' profile_id',才能收到此帖子以供审批。谢谢!
答案 0 :(得分:1)
当然,你的get_all_users()函数会获得你不想要的所有用户。你没有回答我对评论的第一个问题,但是我没有回答。非常确定你真的不想要用户表中的结果,你需要来自profile_follows表的user_id。我将其重命名为get_all_followers()并执行以下操作:
//Note I'm passing the $profile_id to this function, which I assume you have access to
function get_all_followers($profile_id)
{
$this->db->select('user_id');
$this->db->order_by('rand()');
$this->db->where('profile_id' = $profile_id);
$query = $this->db->get('profile_follows');
return $query->result_array;
}
控制器:
$all_followers = $this->stories_model->get_all_followers($profile_id);
foreach ($all_users as $key) {
$send_approve['post_id'] = $edit;
$send_approve['user_id'] = $key; //your answer isn't clear to me, but I think this is where you need your follower user_id
$this->db->insert('contribute_moderators', $send_approve);
}