->setFrom() -- Copy items from Array or Object (for form posting)
Description
Copies items that are in the table definitions from an
array or object into the current object (It will not override key values).
This can be used to process form posts (if the field names match the database),
or cloning similar objects.
You may realize that this method overlaps the overloaded method for the column name from,
due to this, the associated methods for the column name 'from' are set_from and getFrom.
Parameter
array or Object $from - what to copy from
string $format - the format of the array or object variables and how they relate to this object.
for example if your input array is in the format prefix_COLNAME, then you can use 'prefix_%s'.
Return value
array or boolean - TRUE on success or an array of set*() return values in PHP4.3.2 upwards
Note
This function can not be called
statically.
Example
Example 20-1. Using setFrom() // person contains name,age
// $_POST contains 'name'=>'fred', 'age'=>'22'
$person = new DataObjects_Person;
$person->get(12);
$person->setFrom($_POST);
$person->update();
// or using the formating
// person contains name,age
// $_POST contains 'person_name'=>'fred', 'person_age'=>'22'
$person = new DataObjects_Person;
$person->get(12);
$ret = $person->setFrom($_POST,'person_%s');
// use the return value from setFrom to test for errors (PHP4.3.2)
if ($ret === true) {
$person->update();
} else {
// $ret is an array or strings..
echo 'There were some errors: ' . implode(', ', $ret);
}
// or copying from another object
$personA = new DataObjects_Person;
$personA->get(12);
$personB = new DataObjects_Person;
$personB->get(14);
$personA->setFrom($personB);
$person->update(); |
|