How do I store empty values as NULL in the database?
From Joomla! Documentation
Revision as of 06:44, 16 May 2013 by Tom Hutchison (talk | contribs) (removed Category:Tips and tricks; added Category:Development Tips and Tricks using HotCat)
Revision as of 06:44, 16 May 2013 by Tom Hutchison (talk | contribs) (removed Category:Tips and tricks; added Category:Development Tips and Tricks using HotCat)
The "J2.5" namespace is a namespace scheduled to be archived. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
If you want to store empty values as NULLs into the database, you need to override JTable::store() and JModelAdmin::prepareTable(). Add following snippets of code into your component's admin/tables/nameoftable.php and admin/models/nameofeditview.php
admin/tables/nameoftable.php
public function store($updateNulls = true) {
return parent::store(true);
}
admin/models/nameofeditview.php
protected function prepareTable($table)
{
$defnull = array('array','of','columns','that','can','have','null','value');
foreach ($defnull as $val)
if (!strlen($table->$val))
$table->$val = NULL;
}