| 823 | return nil |
| 824 | } |
| 825 | func (fq *FileQuery) loadMetadata(ctx context.Context, query *MetadataQuery, nodes []*File, init func(*File), assign func(*File, *Metadata)) error { |
| 826 | fks := make([]driver.Value, 0, len(nodes)) |
| 827 | nodeids := make(map[int]*File) |
| 828 | for i := range nodes { |
| 829 | fks = append(fks, nodes[i].ID) |
| 830 | nodeids[nodes[i].ID] = nodes[i] |
| 831 | if init != nil { |
| 832 | init(nodes[i]) |
| 833 | } |
| 834 | } |
| 835 | if len(query.ctx.Fields) > 0 { |
| 836 | query.ctx.AppendFieldOnce(metadata.FieldFileID) |
| 837 | } |
| 838 | query.Where(predicate.Metadata(func(s *sql.Selector) { |
| 839 | s.Where(sql.InValues(s.C(file.MetadataColumn), fks...)) |
| 840 | })) |
| 841 | neighbors, err := query.All(ctx) |
| 842 | if err != nil { |
| 843 | return err |
| 844 | } |
| 845 | for _, n := range neighbors { |
| 846 | fk := n.FileID |
| 847 | node, ok := nodeids[fk] |
| 848 | if !ok { |
| 849 | return fmt.Errorf(`unexpected referenced foreign-key "file_id" returned %v for node %v`, fk, n.ID) |
| 850 | } |
| 851 | assign(node, n) |
| 852 | } |
| 853 | return nil |
| 854 | } |
| 855 | func (fq *FileQuery) loadEntities(ctx context.Context, query *EntityQuery, nodes []*File, init func(*File), assign func(*File, *Entity)) error { |
| 856 | edgeIDs := make([]driver.Value, len(nodes)) |
| 857 | byID := make(map[int]*File) |