From cafed0c7f0d0656780c3e77f19bfdcf52c0f7496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Mon, 19 Sep 2022 14:38:48 +0800 Subject: [PATCH] =?UTF-8?q?doc(readme):=E6=9B=B4=E6=96=B0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=B5=8C=E5=A5=97=E7=9A=84=E8=AF=B4=E6=98=8E=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Readme.md b/Readme.md index 32e4802..de2344e 100644 --- a/Readme.md +++ b/Readme.md @@ -22,6 +22,7 @@ 1. 语句中用来指定操作目标数据表的`Model()`方法,其接受的是一个目标变量的地址,如果传入的是一个slice,那么就一定需要使用`&`获取其地址,如果是使用`&struct{}`或者`new()`初始化的,则可以直接作为参数传入。 1. 数据库中的时间字段都是带有时区的,但是bun中都是使用UTC时间的,对于数据库中`timestamptz`类型的字段,可以正常的按照数据库配置的时区保存时间,但是对于没有携带时区的`date`类型,就不能直接向其中传入`time.Time`类型的参数了,必须手工将其转化为字符串形式。 1. 使用Relation关联获取其他数据表内容的时候,被`Relation()`提及的数据表中配置的`alias`名称将不起作用,语句中的数据别名实际上是被关联字段名称的snake_case形式。 +1. 需要进行嵌套Relation选择的时候,嵌套的Relation可以采用`Relation("A.B")`的形式来指示使用数据模型A中的Relation B。 1. 如果需要只从Relation关联数据表中选择一部分字段,不能直接在主查询语句中使用`Column()`方法,必须在`Relation()`方法的第二个参数中声明。 1. 如果需要对Relation关联表中的字段设置`Where`条件子句,那么就必须使用`relation_name__column_name`的双下划线字段选择形式,直接在`Relation()`方法中设定`Where`子句行不通。 1. 定义数据模型的时候,数据字段尽可能不要提供默认值,如果确实需要默认值,要首先考虑在数据库中定义默认值约束,其次选择使用Hook来赋予默认值。直接定义在struct tag中的默认值可能会造成bun形成查询语句时意外的空值。 \ No newline at end of file