Added support for optional columns in db

This commit is contained in:
Christian Wolf 2019-05-22 16:16:26 +02:00
parent 7c18f48b2a
commit d48d7eb853
3 changed files with 10 additions and 1 deletions

View File

@ -117,6 +117,9 @@ abstract class AbstractCommonClubsModel
if($v['type'] !== 'ref')
continue;
if(is_null($vals[$k]))
continue;
$vals[$k] = $vals[$k]->getId();
}
@ -133,6 +136,9 @@ abstract class AbstractCommonClubsModel
if(empty($v['ref']))
throw new Exception('External reference of unknown class found.');
if(empty($vals[$k]))
continue;
$vals[$k] = $this->loadExternalReferenceAsObject($v['ref'], $vals[$k]);
}
@ -304,6 +310,7 @@ abstract class AbstractCommonClubsModel
$q->where("id = {$this->id}");
}
// FIXME Add additional filter to remove associations of the object
public function delete()
{
$db = Factory::getDbo();

View File

@ -30,6 +30,7 @@ abstract class AbstractCommonClubsModelFactory
* - int
* - float
* - ref
* - optional: boolean, if true, the field can be NULL
* - ref: (only with type='ref') The name of the class that is referenced
*/
public abstract function getAttributes();

View File

@ -9,7 +9,8 @@ class CommonClubsModelFactoryPlace extends AbstractCommonClubsModelFactory
{
return array(
'name'=>array(),
'club'=>array('col'=>'clubid', 'type'=>'ref', 'ref'=>'CommonClubsModelClub')
'club'=>array('col'=>'clubid', 'type'=>'ref', 'ref'=>'CommonClubsModelClub'),
'area'=>array('type'=>'int', 'optional'=>true)
);
}