mirror of
https://github.com/vlang/v.git
synced 2025-09-13 14:32:26 +03:00
orm: fix code generated for fields of ?[]Type (#20032)
This commit is contained in:
parent
c19b13e165
commit
dfab24b936
3 changed files with 91 additions and 10 deletions
45
vlib/orm/orm_option_array_test.v
Normal file
45
vlib/orm/orm_option_array_test.v
Normal file
|
@ -0,0 +1,45 @@
|
|||
import db.sqlite
|
||||
|
||||
struct Member {
|
||||
id int @[primary]
|
||||
children ?[]Child @[fkey: parent_id]
|
||||
}
|
||||
|
||||
struct Child {
|
||||
id int @[primary]
|
||||
parent_id int
|
||||
}
|
||||
|
||||
fn test_main() {
|
||||
mut db := sqlite.connect(':memory:') or { panic(err) }
|
||||
defer {
|
||||
db.close() or { panic(err) }
|
||||
}
|
||||
sql db {
|
||||
create table Member
|
||||
} or { println(err) }
|
||||
sql db {
|
||||
create table Child
|
||||
} or { println(err) }
|
||||
new_member := Member{
|
||||
id: 1
|
||||
children: [Child{
|
||||
id: 1
|
||||
parent_id: 1
|
||||
}, Child{
|
||||
id: 2
|
||||
parent_id: 1
|
||||
}]
|
||||
}
|
||||
sql db {
|
||||
insert new_member into Member
|
||||
}!
|
||||
|
||||
rows := sql db {
|
||||
select from Member
|
||||
}!
|
||||
|
||||
assert rows[0].children?.len == 2
|
||||
assert rows[0].children?[0].id == 1
|
||||
assert rows[0].children?[1].id == 2
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue