/** * Adds a remove method for an array column. * @param string &$script The script will be modified in this method. * @param Column $col The current column. */ protected function addRemoveArrayElement(&$script, Column $col) { $clo = strtolower($col->getName()); $cfc = $col->getPhpName(); $visibility = $col->getAccessorVisibility(); $singularPhpName = rtrim($cfc, 's'); $script .= "\n\t/**\n\t * Removes a value from the [{$clo}] array column value.\n\t * @param mixed \$value\n\t * " . $col->getDescription(); if ($col->isLazyLoad()) { $script .= "\n\t * @param PropelPDO An optional PropelPDO connection to use for fetching this lazy-loaded column."; } $script .= "\n\t * @return " . $this->getObjectClassname() . " The current object (for fluent API support)\n\t */\n\t{$visibility} function remove{$singularPhpName}(\$value"; if ($col->isLazyLoad()) { $script .= ", PropelPDO \$con = null"; } // we want to reindex the array, so array_ functions are not the best choice $script .= ")\n\t{\n\t\t\$targetArray = array();\n\t\tforeach (\$this->get{$cfc}("; if ($col->isLazyLoad()) { $script .= "\$con"; } $script .= ") as \$element) {\n\t\t\tif (\$element != \$value) {\n\t\t\t\t\$targetArray []= \$element;\n\t\t\t}\n\t\t}\n\t\t\$this->set{$cfc}(\$targetArray);\n\n\t\treturn \$this;\n\t} // remove{$singularPhpName}()\n"; }
/** * Adds the function declaration for a default accessor * @param string &$script The script will be modified in this method. * @param Column $col The current column. * @see addDefaultAccessor() **/ protected function addDefaultAccessorOpen(&$script, Column $col) { $cfc = $col->getPhpName(); $visibility = $col->getAccessorVisibility(); $script .= "\n\t" . $visibility . " function get{$cfc}("; if ($col->isLazyLoad()) { $script .= "PropelPDO \$con = null"; } $script .= ")\n\t{"; }