Не удается проверить и создать модель в gobuffalo - PullRequest
0 голосов
/ 11 мая 2018

У меня проблемы с использованием pop.Connection # ValidateAndCreate в gobuffalo.

    purchaseOrder.Items = models.OrderItems{}

    ... fill purchaseOrder.Items ...

    for _, item := range purchaseOrder.Items {

        verrs, err := tx.ValidateAndCreate(item)
        if err != nil {
            return errors.WithStack(err)
        }

        if verrs != nil {
            // show error
        }
    }

tx - это тип * github.com / gobuffalo / pop.Connection

Я получаю ошибку: reflect: call of reflect.Value.Elem on struct Value на линии verrs, err := tx.ValidateAndCreate(item)

1 Ответ

0 голосов
/ 11 мая 2018

ValidateAndCreate требует элемент в качестве указателя, так как он должен обновить свойство ID в случае его автоматического создания.Pop также управляет атрибутами CreatedAt и UpdatedAt, поэтому он также должен изменить их.

В соответствии с предложением mkopriva, вы можете изменить вызов ValidateAndCreate на:

verrs, err := tx.ValidateAndCreate(&item)
if err != nil {
    return errors.WithStack(err)
}
...