嗯,我以为我已经弄明白了,但证明确实很难,所以我要解释我的问题可能太详细,希望有人可以帮助我。我正在使用Codeigniter,所以我想努力解决这个问题的基于记录的主动解决方案。
我正在创建一个video voting site,我希望用户能够一次对2个视频进行投票。每个用户应该只能对特定视频进行一次投票(已经找到此部分),并且视频需要具有相同的竞赛视频,因为视频已上传到竞赛中。
我有一张名为“视频”的表格。我需要拉出2个具有相同contestId的随机视频,但是比赛Id不会作为变量输入到函数中,因为它应该是随机的。我正在运行一个检查数据库表的查询,以查看登录用户已经投票的视频,并且它反馈了一个简单的数组,我使用“where_not_in”将其输入此查询。所以我想我唯一的问题是确保被调用的2个视频具有相同的contestId。
到目前为止我所拥有的东西,它只是遗漏了我们提出的任何内容,以使得竞赛场地总是与两个被拉的记录相匹配......
$this->db->where_not_in('id', $excludedVids);
$this->db->order_by('id', 'RANDOM');
$query = $this->db->get('videos', 2);
$data = array();
foreach ($query->result() as $row) {
$data[] = array(
'id' => $row->id,
'filename' => $row->filename,
'added' => $row->added,
'userId' => $row->userId,
'contestId' => $row->contestId,
'complete' => $row->complete
);
}
return $data;