如何处理链接模型?

huangapple go评论75阅读模式
英文:

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_idusers表建立了外键关系。

在不同的情况下,我可能需要使用这两个模型中的一个。具体是什么时候呢?
也许在数据传输对象(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.

huangapple
  • 本文由 发表于 2022年11月11日 22:39:48
  • 转载请务必保留本文链接:https://go.coder-hub.com/74404104.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定