我正在制作一个约会应用程序,很像 tinder。用户可以喜欢或不喜欢其他用户,如果两个用户都喜欢对方,他们可以选择互相聊天。目前正在构建查询以随机提取随机配置文件和其中一张图片:
$data = $this->db
->select('users.id,display_name,city,state,gender,users_pictures.picture')
->join('users_pictures','users_pictures.user_id = users.id')
->order_by('id','RANDOM')
->limit(1)
->where(array('users.approved'=>1,'users_pictures.approved'=>1))
->where(array('users.id !='=>$user_id))->get('users')->result_array();
现在这就是我感到困惑的地方。我有一个包含 user_id、foreign_user_id 和 event_type(喜欢、不喜欢)的 likes_dislikes 表。
如果您已经不喜欢或喜欢某个用户,我不希望他们出现在我的结果中。我能想到的唯一方法是执行第二个查询来检查它,然后如果您已经喜欢/不喜欢它们,则执行另一个“随机”查询,这样您就只能看到您尚未评分的用户。有没有更好的办法?
任何帮助深表感谢 :)