テーブルの列がブール値であるMySQLにDBがあります。
`eligibilityDate` tinyint(1) NOT NULL
データは、次の関数を介して iOS Swift アプリから到着します。
let postParams = "action=save_report&id_fish=\(Reporting.fishId)&fish_name=\(Reporting.fishName)&detectedSize=\(Reporting.detectedSize)&eligibilitySize=\(Reporting.eligibilitySize)&eligibilityDate=\(Reporting.eligibilityDate)&origin=\(Reporting.origin)&production=\(Reporting.production)&townReport=\(Reporting.townReport)"
request.HTTPBody = postParams.dataUsingEncoding(NSUTF8StringEncoding)
ここで、Bool 変数は true/false から「true」/「false」に変換されるeligibilityDate
と思います。eligibilitySize
とにかく、「真」の値は MySQL で 0 として保存されているようです...なぜですか? 正しい方法はどれですか?
アップデート
考えられる解決策は次のとおりです。
let postParams = "action=save_report&id_fish=\(Reporting.fishId)&fish_name=\(Reporting.fishName)&detectedSize=\(Reporting.detectedSize)&eligibilitySize=\(Reporting.eligibilitySize ? 1 : 0)&eligibilityDate=\(Reporting.eligibilityDate ? 1 : 0)&origin=\(Reporting.origin)&production=\(Reporting.production)&townReport=\(Reporting.townReport)"