Size: a a a

Чат по руби

2021 February 05

GG

Gleb Grishakov in Чат по руби
Иван
а постой, как у тебя называется поле в таблице votes которое привзяывается к твоему entry?
так entry_id
источник

GG

Gleb Grishakov in Чат по руби
Если интересно, я тоже накидал свой вариант для ids:

```
user_ids = @entry.votes.select('user_id, MAX(created_at) AS created_at')
                .
group(:user_id)
                .order('created_at DESC')
                .limit(10).to_a.pluck(
:user_id)
```
источник

GG

Gleb Grishakov in Чат по руби
Иван
как то так
User.select("*")
   .from(User.joins(:votes)
             .select("distinct on (users.id) users.*, votes.created_at as vote_created_at")
             .where(votes: { entry: @entry })
             .order("users.id, votes.created_at desc"))
   .order("vote_created_at desc")
   .limit(10)
Спасибо большое 🙂
источник

I

Ivan Resh in Чат по руби
Gleb Grishakov
Если интересно, я тоже накидал свой вариант для ids:

```
user_ids = @entry.votes.select('user_id, MAX(created_at) AS created_at')
                .
group(:user_id)
                .order('created_at DESC')
                .limit(10).to_a.pluck(
:user_id)
```
to_a разве нужно?
источник

GG

Gleb Grishakov in Чат по руби
Ivan Resh
to_a разве нужно?
ага.
ошибка без него

PG::GroupingError: ERROR:  column "votes.created_at" must appear in the GROUP BY clause or be used in an aggregate function
источник

И

Иван in Чат по руби
Gleb Grishakov
Если интересно, я тоже накидал свой вариант для ids:

```
user_ids = @entry.votes.select('user_id, MAX(created_at) AS created_at')
                .
group(:user_id)
                .order('created_at DESC')
                .limit(10).to_a.pluck(
:user_id)
```
Ну норм, но если потом надо достать юзеров в том же порядке что и в этом получившемся массиве, то это ещё 1 запрос причем довольно геморный насколько я помню
источник

GG

Gleb Grishakov in Чат по руби
Иван
Ну норм, но если потом надо достать юзеров в том же порядке что и в этом получившемся массиве, то это ещё 1 запрос причем довольно геморный насколько я помню
Там уже порядок не обязателен)
И  просто:
users = User.where(id: user_ids)
источник

GG

Gleb Grishakov in Чат по руби
Хотя...
источник

GG

Gleb Grishakov in Чат по руби
Вот это надо уточнить, надо ли их прям в том же порядке.
Задача поставлена как "проосто 10 последних"
источник

И

Иван in Чат по руби
Да вот в таком запросе where id: user_ids порядок не гарантирован
источник

GG

Gleb Grishakov in Чат по руби
Когда спрашивал типа, что в тестах показать, сказано: покажи что limit 10 вернуло в sql и достаточно
источник

GG

Gleb Grishakov in Чат по руби
Наверное, там уже порядок не важен
источник

А

Артем in Чат по руби
Ребята. Я тут прошёл тест. До этого уже много лет не юзал мнглиш. Мне дали результат pre intermediate. Видимо мой косяк в грамматике, где в предложении есть и прошедшее совершенное и будещее.
источник

А

Артем in Чат по руби
Итого вопрос, с этого уровня далеко до норм уровня где можно с западом работать.
источник

GG

Gleb Grishakov in Чат по руби
Ну там не ниже Intermediate)
источник

GG

Gleb Grishakov in Чат по руби
Еще чутка качнуть)
источник

GG

Gleb Grishakov in Чат по руби
На левел)
источник

А

Артем in Чат по руби
Мой тест показал словарный запас 2 500 слов и разговор на презент симпл
источник

GG

Gleb Grishakov in Чат по руби
У нас аутсорс, я пришел тоже с pre, не прошел собес один из-за инглиша на проект, поэтому не поставили на проект.
Пошел качать) Уже как 7 мес качаю на intermediate, проект дали, но на демки так и не зовут)))
источник

А

Артем in Чат по руби
Gleb Grishakov
У нас аутсорс, я пришел тоже с pre, не прошел собес один из-за инглиша на проект, поэтому не поставили на проект.
Пошел качать) Уже как 7 мес качаю на intermediate, проект дали, но на демки так и не зовут)))
Видимо pre этого недостаточно. Я так понял нужно upper
источник