У меня есть две таблицы : users ('ID' 'username' '...')
и connectivities('ID' 'following_ID' '...')
Каждый раз, когда один пользователь следует за другим, в connectivities
создается запись. Подписчики сортируются в порядке убывания после запроса по идентификатору пользователя. Теперь я не хочу сортировать подписчиков по идентификатору, а по записям в connectivities
. Таким образом, всегда всегда отображается последний новый подписчик.
public function getFollowers($offset = false,$limit = null){
if (empty($this->user_id) || !is_numeric($this->user_id)) {
return false;
}
else if (!empty($limit) && !is_numeric($limit)) {
return false;
}
$user_id = $this->user_id;
$t_users = T_USERS;
$t_conn = T_CONNECTIV;
self::$db->join("{$t_conn} c","c.follower_id = u.user_id AND c.type = 1","INNER");
self::$db->where("c.following_id",$user_id);
self::$db->orderBy("u.user_id","DESC");
if (!empty($offset) && is_numeric($offset)) {
self::$db->where("u.user_id",$offset,'<');
}
$users = self::$db->get("{$t_users} u",$limit);
$data = array();
foreach ($users as $key => $user_data) {
$user_data = $this->userData($user_data);
$user_data->is_following = false;
if (IS_LOGGED) {
$this->user_id = self::$me->user_id;
$user_data->is_following = $this->isFollowing($user_data->user_id);
}
$data[] = $user_data;
}
return $data;
}
Если я изменил self :: $ db-> orderBy ("u.user_id", "DESC");
на self :: $ db-> orderBy ("c.id", "DESC");
, это также работает, но всегда отображаются те же самые из 20 записей. Затем они всегда повторяются. Я думаю, что проблема заключается в смещении.
У кого-нибудь есть идеи?