@proGO

Страница 1064 из 1674
Demuz
19.12.2017
12:57:55
var users []User db.Find(&users) вот список выведет.

А Limit 1 добавит?
Вон ответ.

nezorflame
19.12.2017
12:58:13
// Load gets the book content from DB by provided ID func (b *Book) Load(id uint) error { return ourlibrary.DB.Table("books").First(b, id).Error }

Google
nezorflame
19.12.2017
12:58:16
чет тип такого

Alexey
19.12.2017
12:58:24
я обычно First делаю
First запускает order by ID, и иногда, в сочетании с ручным Order у меня странные штуки получаются.

Demuz
19.12.2017
12:58:27
А Limit 1 добавит?
First это лимит до первого попавшегося результата.

Alexey
19.12.2017
12:58:56
First это лимит до первого попавшегося результата.
Он по айдишнику сортирует ещё при этом, а я не хочу:)

Demuz
19.12.2017
12:59:07
First запускает order by ID, и иногда, в сочетании с ручным Order у меня странные штуки получаются.
Ну, вобще здесь много вещей, которые у вас не будут нормально работать при спецефических задачах.

nezorflame
19.12.2017
12:59:17
ну это же орм

:)

я их вообще не люблю, предпочитаю чистый сиквел

Demuz
19.12.2017
12:59:41
Он по айдишнику сортирует ещё при этом, а я не хочу:)
А вам вобще какой нужен результат? Вы свой код пакажите.

nezorflame
19.12.2017
12:59:42
но приходится юзать орм

Alexey
19.12.2017
12:59:52
А вам вобще какой нужен результат? Вы свой код пакажите.
Ну мне надо просто первую попавшуюся взять, и без сортировки по ID. вот я и думаю, надо Limit 1 добавлять, или он сам как-нибудь. И чтоб ErrRecordNotFound при этом работал

Demuz
19.12.2017
12:59:59
я их вообще не люблю, предпочитаю чистый сиквел
не зря через на Г название начинается блин ))))) Г*ОРМ )))

nezorflame
19.12.2017
13:00:19
есть вариант от @alek_si https://github.com/go-reform/reform

Google
Alexey
19.12.2017
13:01:10
есть вариант от @alek_si https://github.com/go-reform/reform
Не, там всё на GORM завязано, для нового другое дело)

Demuz
19.12.2017
13:01:17
Ну мне надо просто первую попавшуюся взять, и без сортировки по ID. вот я и думаю, надо Limit 1 добавлять, или он сам как-нибудь. И чтоб ErrRecordNotFound при этом работал
Я с таким не сталкивался, помоему он цепляет именно такой первый результ, потому что ему сама база так данные предоставила.

Alexey
19.12.2017
13:02:02
Я с таким не сталкивался, помоему он цепляет именно такой первый результ, потому что ему сама база так данные предоставила.
не, он точно сортирует при First: // Get first record, order by primary key db.First(&user) //// SELECT * FROM users ORDER BY id LIMIT 1; Это вот в доке

Svyatoslav
19.12.2017
13:02:34
но приходится юзать орм
а что за необходимость, если не секрет?

Alexey
19.12.2017
13:02:54
а что за необходимость, если не секрет?
Мне лениво прописывать руками маппинг в поля структуры, например:)

nezorflame
19.12.2017
13:03:39
beego, gorm, вот это все

Demuz
19.12.2017
13:03:53
Иногда меня так доканывает ОРМ со своими выкидонами, что уже RAW запрос легче написать становится.

Alexey
19.12.2017
13:05:12
Вижу. Я не понял если честно зачем вам именно любая первая попавшая запись )
Мне надо проверить наличие строки в таблице, удовлетворяющее паре условий. Таких строк может быть несколько:) Надо найти хотя бы одну, или получить NotFound и обработать его. Я не хочу, чтоб он для этого ещё дёргал индекс по айдишнику, чтоб отсортировать их:)

Demuz
19.12.2017
13:05:38
Ну так через Where ищите и все )

Через чистый SQL запрос лучше сделайте что вам нужно, чем времени столько на ОРМ тратить

Alexey
19.12.2017
13:06:28
Ну так через Where ищите и все )
Where всё равно надо закончить с Find или First

Demuz
19.12.2017
13:06:29
ORDER by ничего сделайте ))))

Сделайте find.
Если вы изначально всё в список не ложили, то он не будет туда несколько записей пихать.

В итоге там будет лежать всего одна.

Alexey
19.12.2017
13:08:06
Ладно, быстрее логи включить и посмотреть)

Google
Demuz
19.12.2017
13:11:28
Смотрите, здесь не список конфигураторов я обявил, а всего 1.

Даже если он много записей найдет, там должен лежать всего 1.

Сейчас проверю.

Aleksandr
19.12.2017
13:14:06
покажет одну. проблема в чем?

Alexey
19.12.2017
13:15:29
покажет одну. проблема в чем?
Мне надо, чтоб LIMIT 1 при запросе был выставлен?

Alexey
19.12.2017
13:16:40
зачем?
П - Преждевременная оптимизация. Вдруг в базе будет миллион подходящих строк, так чтоб он все не вытаскивал.

Aleksandr
19.12.2017
13:16:52
он и не будет все вытаскивать

вытащит одну

даже без лимита

Alexey
19.12.2017
13:17:41
А потом? Перестанет читать из коннекта к постгресу?

Aleksandr
19.12.2017
13:17:45
он получает ресурс из базы, получает первую строку и ресурс закрывает. так работают все orm. логично что и данная так же работает

Aleksandr
19.12.2017
13:18:40
да ну?
ну да

Anatoliy
19.12.2017
13:19:02
а select запрос отдает данные во время своего выполнения или после?

Aleksandr
19.12.2017
13:20:01
что такое выполнение?

вообще данные отдаются именно во время выполнения

Demuz
19.12.2017
13:20:39
id 6 он отобразил в ответе.

Anatoliy
19.12.2017
13:21:16
id 6 он отобразил в ответе.
что за консолька?)

Demuz
19.12.2017
13:21:35
что за консолька?)
Редактор чтоли ? )))

Google
Anatoliy
19.12.2017
13:21:45
на картинке, ага

в общем откуда лог короче)

Demuz
19.12.2017
13:22:29
от JetBraing Golang редактор.

Alexey
19.12.2017
13:22:41
Ага, в случае Find он не сортирует, да. Но Limit тоже не ставит

Anatoliy
19.12.2017
13:22:45
аналогично, но уменя без цветов

Demuz
19.12.2017
13:22:59
аналогично, но уменя без цветов
Это дебаг ОРМ такие цвета выдает.

Anatoliy
19.12.2017
13:23:06
понятно

Admin
ERROR: S client not available

Demuz
19.12.2017
13:23:18
Ага, в случае Find он не сортирует, да. Но Limit тоже не ставит
Но огромную пачку результатов все равно получает )

Поэтому чистый SQL просто напишите запрос и не парьтесь.

понятно
тема Colorful Darcula )

Alexey
19.12.2017
13:24:25
Но огромную пачку результатов все равно получает )
а вон выше @zelenin говорит, что он только один получит, а потом постгресу скажет, что хватит

Demuz
19.12.2017
13:24:33
Эта кислотная по началу казалась, а потом втянулся в неё )

Demuz
19.12.2017
13:25:21
Anatoliy
19.12.2017
13:25:44
тема Colorful Darcula )
аналогипчно

Demuz
19.12.2017
13:25:52
Там даже сам дебаг говорит что база ему 3 row возвращает. ТО есть сам орм оттуда 1 результат выбирает.

Как бы здесь он сам пишет что 3 записи вернулось.

Э ладно ) Я домой. Как дебаг блин, какой ОРМ. Домой пора )

Alexey
19.12.2017
13:26:49
Полпятого только, какой домой

Google
Demuz
19.12.2017
13:27:24
Aleksandr
19.12.2017
13:27:38
Сказано.
перечитай

Demuz
19.12.2017
13:27:52
3 записи затронуты или вернуты.

Alexey
19.12.2017
13:28:03
перечитай
Ну вообще там сказано 3, т.е. как минимум он их посчитал:)

Alexey
19.12.2017
13:28:46
именно
А если их будет миллион, то считать будет долго. Я Limit 1 добавлю и буду доволен.

Demuz
19.12.2017
13:28:52
Да база если вернула 3 результата. Ну если там 3 результата было. Что я могу поделать блин. Это сам орм в интерфейс только 1 резалт положил.

Aleksandr
19.12.2017
13:29:09
вполне возможно реализация Find действительно все вытаскивает, но это было бы странно.

Phil
19.12.2017
13:29:24
О. ORM срачик :))

Demuz
19.12.2017
13:29:39
Да я часто дебаг смотрю. Там по времени возврат одной записи и пачки отличается.

Anatoliy
19.12.2017
13:29:42
find - ищет, GET обычно вытаскивает или один результат или массив в зависимомти от того что ему скормишь

Anatoliy
19.12.2017
13:30:14
у GORM нет GET
тогда хорошо что я пользую xorm) а мне тут горм недавно предлагали :))

Страница 1064 из 1674