mirror of
https://github.com/ent/ent.git
synced 2026-05-24 09:31:56 +03:00
schema/field: json type support (#38)
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/38 Only `IsNil` and `NotNil` predicates are supported this moment Reviewed By: alexsn Differential Revision: D17444976 fbshipit-source-id: 37336fa0bc7749af995933baee2e23bb7366dd78
This commit is contained in:
committed by
Facebook Github Bot
parent
83d0063437
commit
c3955a08f1
@@ -19,9 +19,17 @@ func ({{ $receiver }} *{{ $builder }}) sqlSave(ctx context.Context) (*{{ $.Name
|
||||
}
|
||||
builder := sql.Insert({{ $.Package }}.Table).Default({{ $receiver }}.driver.Dialect())
|
||||
{{- range $_, $f := $.Fields }}
|
||||
if {{ $receiver }}.{{- $f.StructField }} != nil {
|
||||
builder.Set({{ $.Package }}.{{ $f.Constant }}, *{{ $receiver }}.{{ $f.StructField }})
|
||||
{{ $.Receiver }}.{{ pascal $f.Name }} = {{ if not $f.Nillable }}*{{ end }}{{ $receiver }}.{{ $f.StructField }}
|
||||
if value := {{ $receiver }}.{{- $f.StructField }}; value != nil {
|
||||
{{- if $f.IsJSON }}
|
||||
buf, err := json.Marshal(*value)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
builder.Set({{ $.Package }}.{{ $f.Constant }}, buf)
|
||||
{{- else }}
|
||||
builder.Set({{ $.Package }}.{{ $f.Constant }}, *value)
|
||||
{{- end }}
|
||||
{{ $.Receiver }}.{{ pascal $f.Name }} = {{ if not $f.Nillable }}*{{ end }}value
|
||||
}
|
||||
{{- end }}
|
||||
query, args := builder.Query()
|
||||
|
||||
Reference in New Issue
Block a user