Доступ к свойствам вторичного объекта - PullRequest
0 голосов
/ 09 февраля 2019

Может ли кто-нибудь помочь мне со следующим вопросом?В приведенном ниже коде Gosu, как я могу включить информацию о городе в таблицу адресов в результат запроса (не переворачивая таблицы - начиная с таблицы адресов)?Таблица адресов имеет внешний ключ, указывающий на пользовательскую таблицу, но внешнего ключа нет.Может ли запрос строки сделать это?Большое спасибо

uses gw.api.database.Query

// -- query the User entity --
var queryUser = Query.make(User)

// -- select only User instances who last updated addresses in the city of Chicago --
var tableAddress = queryUser.join(Address, "UpdateUser")
tableAddress.compare("City", Equals, "Chicago") 

// -- fetch the User instances with a for loop and print them --
var result = queryUser.select()

for (user in result) {
    print (user.DisplayName)
}

1 Ответ

0 голосов
/ 11 февраля 2019

Поскольку у адреса есть пользователь FK, почему бы не перевернуть таблицы?

uses gw.api.database.Query

// -- query the Address entity --
var queryAddress = Query.make(Address)
queryAddress.compare("City", Equals, "Chicago") 

// -- select only User instances who last updated addresses in the city of Chicago --
var tableUser = queryAddress.join(Address#UpdateUser)

// -- fetch the Addresses instances with a for loop and print them --
var result = tableUser.select()

for (address in result) {
    print(address.City?.DisplayName)
    print(address.UpdateUser?.DisplayName)
}
...