GORM Playground Link

https://github.com/go-gorm/playground/pull/563

Description

例如: 我链接里的例子

    sql := DB.ToSQL(func(tx *gorm.DB) *gorm.DB {
        return tx.Joins("Company").Take(&user) // 这里使用 Left Join
    })
    println(sql)

    sql = DB.ToSQL(func(tx *gorm.DB) *gorm.DB {
        return tx.Joins("Company", tx.Omit("Name")).Take(&user) // 但是这里却被改变,只是使用 Join
    })
    println(sql)

上面的代码分别输出:

SELECT `users`.`id`,`users`.`created_at`,`users`.`updated_at`,`users`.`deleted_at`,`users`.`name`,`users`.`age`,`users`.`birthday`,`users`.`company_id`,`users`.`manager_id`,`users`.`active`,`Company`.`id` AS `Company__id`,`Company`.`name` AS `Company__name` FROM `users` LEFT JOIN `companies` `Company` ON `users`.`company_id` = `Company`.`id` WHERE `users`.`deleted_at` IS NULL LIMIT 1

SELECT `users`.`id`,`users`.`created_at`,`users`.`updated_at`,`users`.`deleted_at`,`users`.`name`,`users`.`age`,`users`.`birthday`,`users`.`company_id`,`users`.`manager_id`,`users`.`active`,`Company`.`id` AS `Company__id` FROM `users` JOIN `companies` `Company` ON `users`.`company_id` = `Company`.`id` WHERE `users`.`deleted_at` IS NULL LIMIT 1