我有ExtJS从combofield发布数据到CodeIgniter.CodeIgniter读取发布的数据并运行db-> insert以更新mssql数据库.
问题是,如果用户没有从组合框中选择一个选项,它将被发送到CodeIgniter,则Codeignighter会将这条发布的数据作为空字符串读取并尝试将其写入数据库中的int字段,从而导致错误.
我相信我需要CodeIgniter将字符串视为NULL(如果它为空)和数字(如果是空的话).我已经尝试使用php类型juggling(int)来转换它但它使它为0.这是一个无效的值,因为它与我的数据库中我的一对多int字段中的任何选择都不匹配.
有没有办法让CodeIgniter将空字符串视为NULLS而不是空字符串?
[编辑添加代码]
{
//ExtJS combo object
xtype: 'combo',
id: 'Referrer',
store: new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: '/referrals/index.php/referrers/read',
method: 'POST'
}),
reader: new Ext.data.JsonReader({
root: 'results',
fields: [
{name: 'ID'},
{name: 'Referrer'}
]
})
}),
displayField: 'Referrer',
valueField: 'ID',
value: 1,
typeAhead: true,
hiddenName: 'Referrers_ID',
mode: 'remote',
triggerAction: 'all',
fieldLabel: 'Referrer',
selectOnFocus: true,
anchor: '100%'
}
//CI CODE TO GRAB FROM POST INTO AN ARRAY THEN OUT TO THE DB
public function create(){
$data = array( …Run Code Online (Sandbox Code Playgroud)