findOrCreateBy
Bir nesneyi aramak veya eşleşen bir tane bulamıyor, ancak beklediğim gibi çalışmıyor bir örneği aramak için kullanmaya çalışıyorum. Neyi yanlış yapıyorumOrCreateBy, diğer etki alanı örnekleriyle birlikte çalışır mı?
String myBaz = "some unique string"
FooType myFooType = FooType.findByName("Large")
// The Foo table is empty, so this should give me a new Foo
Foo myFoo = Foo.findOrCreateByBazAndFooType(myBaz, myFooType)
assert myFoo.baz == myBaz
assert myFoo.fooType == myFooType // Fails because myFoo.fooType is null,
// but should be set to myFooType
:
Bu benim ne var? fooType
neden uygun şekilde ayarlanmıyor? Bu beklenen davranış mı yoksa Grails'deki bir hata mı?
yardımcı olabilir, aptalca olabilir ama? Daha sonra bu boş özniteliği geçen bir nesne oluşturursunuz. Yani, evet, bu durumda benimFoo.fooType gerçekten boş olmalıdır. –
@TiagoFarias, Bu noktada daha doğru olması için bu soruyu güncelledim. FooTypes, DB'ye önyüklenir, bu yüzden gerçekten boş değil, ancak DB'de Foo nesneleri yok. 'FindOrCreate *' çağrıldığında, 'myFooType'' FooType'ın kalıcı bir örneğidir. – cdeszaq