0
私はGoでREST APIを作成しています。そして、私は、要求に関して、オブジェクトに関するデータと、別のテーブルであるそれに関するいくつかのサブデータとの応答を送信したい。基本的にテーブル間でJOINを実行します。ozzo-dbxパッケージを使用してPostgreSQLで結合を行う方法は?
私はこのパッケージを使用しています:https://github.com/go-ozzo/ozzo-dbx
。
ドキュメントでは、JOINの例が見つかりませんでした。
これを解決する手助けをしてもらえますか?
マイコード:
これがないシンプルなSELECT * FROM cars
func (dao *BikesDAO) Query(rs app.RequestScope, offset, limit int) ([]models.Bikes, error) {
bikes := []models.Bikes{}
err := rs.Tx().Select().OrderBy("name").Offset(int64(offset)).Limit(int64(limit)).All(&bikes)
return bikes, err
}
私の構造体:
{
"id":12,
"name":"Toyota",
"rating":4,
"price_value":4000,
"users": {
"id":64,
"Username":"Tom32",
"Name":"Tom",
"Phone":"325345345",
"Email":"[email protected]"
}
}
:私は次の結果を
SELECT * FROM cars INNER JOIN users ON cars.user_id = users.id
を行い、取得したい。これにより
type Bikes struct {
Id int `json:"id" db:"id"`
Name string `json:"name" db:"name"`
Rating float64 `json:"rating" db:"rating"`
PriceValue uint `json:"price_value" db:"price_value"`
Users Users
}
type Users struct {
Id string `json:"id" db:"id"`
Username string `json:"username" db:"username"`
Name string `json:"name" db:"name"`
Phone string `json:"phone" db:"phone"`
Email string `json:"email" db:"email"`
}