From 66e697d3b1b9600ad00197c5af682ab73c73ddf2 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 23 May 2014 15:01:41 +0800 Subject: [PATCH] improved docs --- docs/QuickStart.md | 2 ++ docs/QuickStartCN.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/QuickStart.md b/docs/QuickStart.md index b9e12f40..47aa98dc 100644 --- a/docs/QuickStart.md +++ b/docs/QuickStart.md @@ -732,6 +732,8 @@ type User struct { //assert(User.Userinfo.Id != 0 && User.Userdetail.Id != 0) +Please notice that Userinfo field on User should be before Userdetail because of the order on join SQL stsatement. If the order is wrong, the same name field may be set a wrong value. + Of course, If join statment is very long, you could directly use Sql(): err := engine.Sql("select * from userinfo, userdetail where userinfo.detail_id = userdetail.id").Find(&users) diff --git a/docs/QuickStartCN.md b/docs/QuickStartCN.md index ac06c193..366a6cad 100644 --- a/docs/QuickStartCN.md +++ b/docs/QuickStartCN.md @@ -853,6 +853,8 @@ money float64 `xorm:"Numeric"` var users = make([]User, 0) err := engine.Table(&Userinfo{}).Join("LEFT", "userdetail", "userinfo.detail_id = userdetail.id").Find(&users) +请注意这里的Userinfo在User中的位置必须在Userdetail的前面,因为他在join语句中的顺序在userdetail前面。如果顺序不对,那么对于同名的列,有可能会赋值出错。 + 当然,如果Join语句比较复杂,我们也可以直接用Sql函数 err := engine.Sql("select * from userinfo, userdetail where userinfo.detail_id = userdetail.id").Find(&users)