
nezorflame
19.12.2017
12:57:48

Demuz
19.12.2017
12:57:55
var users []User
db.Find(&users)
вот список выведет.

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

Alexey
19.12.2017
12:58:56

Demuz
19.12.2017
12:59:07

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

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

Demuz
19.12.2017
13:01:17

Alexey
19.12.2017
13:02:02

Svyatoslav
19.12.2017
13:02:34

Alexey
19.12.2017
13:02:54

Demuz
19.12.2017
13:03:08

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

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

Alexey
19.12.2017
13:05:12

Demuz
19.12.2017
13:05:38
Ну так через Where ищите и все )
Через чистый SQL запрос лучше сделайте что вам нужно, чем времени столько на ОРМ тратить

Alexey
19.12.2017
13:06:28

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

Aleksandr
19.12.2017
13:16:03

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. логично что и данная так же работает

Anatoliy
19.12.2017
13:18:34

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

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
Поэтому чистый SQL просто напишите запрос и не парьтесь.

Alexey
19.12.2017
13:24:25

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

Aleksandr
19.12.2017
13:24:34

Demuz
19.12.2017
13:25:21

Anatoliy
19.12.2017
13:25:44

Demuz
19.12.2017
13:25:52
Там даже сам дебаг говорит что база ему 3 row возвращает. ТО есть сам орм оттуда 1 результат выбирает.
Как бы здесь он сам пишет что 3 записи вернулось.
Э ладно ) Я домой. Как дебаг блин, какой ОРМ. Домой пора )

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

Google

Aleksandr
19.12.2017
13:26:51

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, т.е. как минимум он их посчитал:)

Aleksandr
19.12.2017
13:28:14

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

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

Anatoliy
19.12.2017
13:28:59

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 обычно вытаскивает или один результат или массив в зависимомти от того что ему скормишь

Alexey
19.12.2017
13:29:58
Есть First, last и find

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