
Vasiliy
29.12.2017
11:51:32
Туда ж можно лямбду

biert
29.12.2017
12:00:24
Приветствую господа, такой вопрос, один и тот же запрос к Active record дает разные результаты в rails console и в приложении, что я могу делать не так

Eugene
29.12.2017
12:00:37
дата?
Date.parse делаешь?

Google

biert
29.12.2017
12:01:03
нет
Reservation.where('status IN (?) and user_id = ?', (0..3), @current_user.id)
вот такой примитивный запрос

No
29.12.2017
12:02:19

Alan
29.12.2017
12:02:20

No
29.12.2017
12:02:28
попробуй так и проверь

v
29.12.2017
12:02:55

Eugene
29.12.2017
12:03:09
ксатти, Миксам прав
твой запрос странный
либо делать ,как он
либо (0..3).join(‘,’)
вроде

biert
29.12.2017
12:03:59
query моего
SELECT "reservations".* FROM "reservations" WHERE (status IN (0,1,2,3) and user_id = 1) ORDER BY "reservations"."id" DESC LIMIT $1 [["LIMIT", 1]]

v
29.12.2017
12:04:03

Google

biert
29.12.2017
12:04:16
того что вы предлагаете
SELECT "reservations".* FROM "reservations" WHERE ("reservations"."status" BETWEEN $1 AND $2) AND "reservations"."user_id" = $3 ORDER BY "reservations"."id" DESC LIMIT $4 [["status", 0], ["status", 3], ["user_id", 1], ["LIMIT", 1]]
и ваш почему-то быстрее работает

Eugene
29.12.2017
12:04:41
потому что рельсы дохуя умные
in заменили на бетвин

v
29.12.2017
12:04:56

Eugene
29.12.2017
12:05:21
а если еще поставишь индекс, что будет

No
29.12.2017
12:05:27
хардкод жи
да, но я же не знаю остального кода, просто идею набросил исходя из того, что есть

Eugene
29.12.2017
12:05:53
хардкод был по условиям)

No
29.12.2017
12:06:34

Artur
29.12.2017
12:06:48

No
29.12.2017
12:06:49
если та же - ты уверен, что у тебя есть @current_user, выше уже спрашивали )

biert
29.12.2017
12:06:50
еще не протестировал
100% есть ибо не прошел бы запрос
и в query в логах видно что id получает

v
29.12.2017
12:07:57
он есть
но вопрос, кто он

No
29.12.2017
12:08:29

biert
29.12.2017
12:09:06
не понимаю
кажется я понимаю в чем дело
рельсы автоматически limit доставляют

Google

biert
29.12.2017
12:11:03
когда делаю тот же запрос с last то показыввает то как должно быть

Eugene
29.12.2017
12:11:26
дичь какая-то

No
29.12.2017
12:11:32
если подключено - тоже не должно быть
default_scope?

Vasiliy
29.12.2017
12:11:54
дефолт скоуп

biert
29.12.2017
12:12:21
paginate json: reservations_list, each_serializer: UserReservationSerializer, include: ['driver', 'user', :driver => 'car'], page: params[:page], per_page: params[:per_page]
но

No
29.12.2017
12:12:34
слабо могу представить, зачем мог понадобится дефолт скоуп с лимитом
так что думаю не он

biert
29.12.2017
12:12:42
я же вызываю не через сериалайзер а через актив рекорд
насчет default scope то я не понимаю о чем вы

Eugene
29.12.2017
12:13:29
per_page у тебя солкько?
1?

Eugene
29.12.2017
12:13:33

Sergey
29.12.2017
12:14:06
Да можно было прям в чате спросить )

Eugene
29.12.2017
12:14:13
да

Sergey
29.12.2017
12:14:15
тут много нас )

No
29.12.2017
12:14:24
в этом разница

Google

Aldar
29.12.2017
12:14:30

Eugene
29.12.2017
12:14:40
никакого не нашли)

No
29.12.2017
12:14:51
эликсир - совсем другой стиль кодинга и задает другие требования, это время на изучение новых концепций и привыкание к ним

Eugene
29.12.2017
12:14:52

No
29.12.2017
12:14:56
сорян за подъем старой темы опять )

Aldar
29.12.2017
12:14:58
мало денех наверное предлагают

Eugene
29.12.2017
12:15:03
у нас один из главных эликсирщиков как раз из рубиста поулчился

biert
29.12.2017
12:15:22
делаю в rails console
Reservation.where(user_id: 1, status: 3)

Admin
ERROR: S client not available

biert
29.12.2017
12:15:36
оно автоматически limit 11 ставит
но почему

Eugene
29.12.2017
12:16:06
дефолт скоуп?))

No
29.12.2017
12:16:30

alteregoizm
29.12.2017
12:17:00
никакого не нашли)
не все хотят в рокетбанк, да и после плохого пиара вакансии, тоже осадочек

biert
29.12.2017
12:17:21
дефолт скоуп?))
прочитал, наконец-то понял о чем вы, не нету у мнея такого в модели

Eugene
29.12.2017
12:17:27

alteregoizm
29.12.2017
12:18:33
чо за пиар?
да там на @lizunsosun завлекали народ, долго описывать, хз утекло ли во внешние интернеты из чатика

Eugene
29.12.2017
12:18:51
а че плохого в Лизе?

No
29.12.2017
12:18:55

biert
29.12.2017
12:19:35
спасибо, хотя бы уже знаю в чем копать)

Google

alteregoizm
29.12.2017
12:20:22

Eugene
29.12.2017
12:22:45

biert
29.12.2017
12:24:46
какой-то gem может как-то инджектить этот лимит?

Иван
29.12.2017
12:24:47
Я когда то точно сталкивался с limit 11
Причем именно 11
Который ни на что не влиял

biert
29.12.2017
12:25:10
воо
gem 'api-pagination'
гем нашел

Иван
29.12.2017
12:25:40
Непонятно откуда он брался и самое главное что не работал

biert
29.12.2017
12:25:51
у меня работает)

Иван
29.12.2017
12:26:09
То есть в результате выдавалось не 11 записей из бд

biert
29.12.2017
12:26:51
мне 11
и когда из этого результата делаешь last
то показывает как надо

Eugene
29.12.2017
12:27:25
когда делаешь last - делает limit 1

biert
29.12.2017
12:27:34
да

Eva
29.12.2017
12:27:42

biert
29.12.2017
12:28:00
я имею ввиду что оно загружает полный массив данных, но показывает только часть
а мне нужны все

Eugene
29.12.2017
12:28:39
лэйзи эвалуйшон же. Если ты написал last, то будет лимит 1 в запросе