英文:
How to handle linked models?
问题
我有两个模型,使用的是Go 1.19:
type User struct {
Name string
ID int
}
type Order struct {
ID int
Name string
User *User
// 或者
UserID int
}
当然,数据库中的orders
表通过user_id
与users
表建立了外键关系。
在不同的情况下,我可能需要使用这两个模型中的一个。具体是什么时候呢?
也许在数据传输对象(DTO)模型中只使用user_id
,而在服务器的响应中使用user
?
我会很高兴获得任何信息
英文:
I have two models, using Go 1.19:
type User struct {
Name string
ID int
}
type Order struct {
ID int
Name string
User *User
// or
UserID int
}
Of course, the database orders table
has a foreign key to the users table
via user_id
.
Probably in different situations I have to use one of these models. When exactly?
Mb only user_id
in DTO models, the user
in responses from the server?
I will be glad for any information
答案1
得分: 0
这取决于你的目的。通常情况下,当一个表包含有关实体的元信息时(通常是行数很多且很重的表),你需要使用 id,因此最好使用id。否则,如果这个表描述了初始表中的某些字段,你可以使用完整的实体。
英文:
It depends on your purpose. As usual, you have to use id when a table to include has meta info about your entity (often it's tables with a lot of rows and so heavy), therefore it will be better to use id, otherwise if it's table which describe some fields in initial table, you can use full entity.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论