比戈的Map规则是什么 Raw().QueryRows()
这是我使用的结构:
type ProcessingNetworkDataProviderConfig struct {
Id int
NetworkId int
DataProviderId int
DistributorId int
EnableTargeting int
EnableReporting int
UsePrivateData int
UseExternalUserId int
UseUserMapping int
UseUserAttributes int
UserExchangeUrl string
EnableCache int
EnableBloomFilter int
EnableDisplayAds int
EnableResellerMode int
EnableVisitorReporting int
Nsql string
MaxSegmentNumber int
ExpirationDays int
DeltaIngest int
Pkg int
Trackednum int
Comment string
ProcessingStatus string
}
这是mysql中的表( desc processing_network_data_provider_config
):
+--------------------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------------+---------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| network_id | bigint(20) | NO | MUL | NULL | |
| data_provider_id | bigint(20) | NO | MUL | NULL | |
| distributor_id | bigint(20) | YES | MUL | NULL | |
| enable_targeting | tinyint(1) | NO | | 0 | |
| enable_reporting | tinyint(1) | NO | | 0 | |
| use_private_data | tinyint(1) | NO | | 0 | |
| use_external_user_id | tinyint(1) | NO | | 0 | |
| use_user_mapping | tinyint(1) | NO | | 0 | |
| use_user_attributes | tinyint(1) | NO | | 1 | |
| user_exchange_url | varchar(255) | YES | | NULL | |
| enable_cache | tinyint(1) | NO | | 1 | |
| enable_bloom_filter | tinyint(1) | NO | | 0 | |
| enable_display_ads | tinyint(1) | NO | | 1 | |
| enable_reseller_mode | tinyint(1) | NO | | 0 | |
| enable_visitor_reporting | tinyint(1) | NO | | 1 | |
| Nsql | varchar(2000) | YES | | NULL | |
| seg_num | int(11) | YES | | NULL | |
| exp_date | int(11) | YES | | NULL | |
| delta_ingest | tinyint(1) | YES | | NULL | |
| package | tinyint(1) | YES | | NULL | |
| tracked_num | int(11) | YES | | NULL | |
| Comment | varchar(2000) | YES | | NULL | |
| ProcessingStatus | varchar(30) | YES | | NULL | |
+--------------------------+---------------+------+-----+---------+----------------+
我用这个来读取数据库:
var tt []*ProcessingNetworkDataProviderConfig
sql := `SELECT * FROM processing_network_data_provider_config`
if _, err := o.Raw(sql).QueryRows(&tt); err != nil {
fmt.Println("fff wo")
beego.Error("Error when querying network configuration: ", err.Error())
}
fmt.Println(tt[0])
结果是:
&{49 1271 1 -1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 }
然而,这里面应该有一些字符串,它们在哪里?我想是Map规则让它失败了,对吗?
1条答案
按热度按时间pcww981p1#
https://beego.me/docs/mvc/model/models.md
根据命名约定,您的结构字段名将被转换为snake\u case作为db模式的使用,我注意到您在模式中的“processingstatus”。所以我相信你有两个选择:
1将“processingstatus”列重命名为snake\u case
2对结构标记使用特殊Map: