add FindPtr for belongs_to
This commit is contained in:
parent
c68711d9a5
commit
590bb1015b
|
@ -165,3 +165,54 @@ func TestBelongsTo_Find(t *testing.T) {
|
|||
assert.Equal(t, "face1", noses2[0].Face.Name)
|
||||
assert.Equal(t, "face2", noses2[1].Face.Name)
|
||||
}
|
||||
|
||||
func TestBelongsTo_FindPtr(t *testing.T) {
|
||||
assert.NoError(t, prepareEngine())
|
||||
|
||||
type Face struct {
|
||||
Id int64
|
||||
Name string
|
||||
}
|
||||
|
||||
type Nose struct {
|
||||
Id int64
|
||||
Face *Face `xorm:"belongs_to"`
|
||||
}
|
||||
|
||||
err := testEngine.Sync2(new(Nose), new(Face))
|
||||
assert.NoError(t, err)
|
||||
|
||||
var face1 = Face{
|
||||
Name: "face1",
|
||||
}
|
||||
var face2 = Face{
|
||||
Name: "face2",
|
||||
}
|
||||
_, err = testEngine.Insert(&face1, &face2)
|
||||
assert.NoError(t, err)
|
||||
|
||||
var noses = []Nose{
|
||||
{Face: &face1},
|
||||
{Face: &face2},
|
||||
}
|
||||
_, err = testEngine.Insert(&noses)
|
||||
assert.NoError(t, err)
|
||||
|
||||
var noses1 []Nose
|
||||
err = testEngine.Find(&noses1)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, 2, len(noses1))
|
||||
assert.Equal(t, face1.Id, noses1[0].Face.Id)
|
||||
assert.Equal(t, face2.Id, noses1[1].Face.Id)
|
||||
assert.Equal(t, "", noses1[0].Face.Name)
|
||||
assert.Equal(t, "", noses1[1].Face.Name)
|
||||
|
||||
var noses2 []Nose
|
||||
err = testEngine.Cascade().Find(&noses2)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, 2, len(noses2))
|
||||
assert.Equal(t, face1.Id, noses2[0].Face.Id)
|
||||
assert.Equal(t, face2.Id, noses2[1].Face.Id)
|
||||
assert.Equal(t, "face1", noses2[0].Face.Name)
|
||||
assert.Equal(t, "face2", noses2[1].Face.Name)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue