From 01093d6cce02bb7428caa37d4a206fcdd9f4005e Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Wed, 11 Mar 2026 12:38:14 +0300 Subject: [PATCH] orm: selecting struct with ORM does not get deeply nested `struct_field []arr @[fkey: 'some_id']` (fixes #23340) --- vlib/db/sqlite/parent_child_test.v | 7 +++++++ vlib/v/gen/c/orm.v | 1 + 2 files changed, 8 insertions(+) diff --git a/vlib/db/sqlite/parent_child_test.v b/vlib/db/sqlite/parent_child_test.v index a86ef7582..ac646a647 100644 --- a/vlib/db/sqlite/parent_child_test.v +++ b/vlib/db/sqlite/parent_child_test.v @@ -81,6 +81,13 @@ fn test_main() { assert parent[0].children[0].id == 1 assert parent[0].children[1].id == 2 assert parent[0].children.len == 2 + assert parent[0].children[0].babies.len == 2 + assert parent[0].children[1].babies.len == 3 + assert parent[0].children[0].babies[0].name == 'first baby' + assert parent[0].children[0].babies[1].name == 'second baby' + assert parent[0].children[1].babies[0].name == 'third baby' + assert parent[0].children[1].babies[1].name == 'fourth baby' + assert parent[0].children[1].babies[2].name == 'fifth baby' db.close()! } diff --git a/vlib/v/gen/c/orm.v b/vlib/v/gen/c/orm.v index c17303723..1ce130992 100644 --- a/vlib/v/gen/c/orm.v +++ b/vlib/v/gen/c/orm.v @@ -1324,6 +1324,7 @@ fn (mut g Gen) write_orm_select(node ast.SqlExpr, connection_var_name string, re limit_expr: sub.limit_expr table_expr: sub.table_expr fields: sub.fields + sub_structs: sub.sub_structs where_expr: where_expr aggregate_field_type: sub.aggregate_field_type } -- 2.39.5