我有一系列我希望用。更新模型的值。
Doctrine_Access提供了一个函数setArray,它几乎就是我所需要的 - 除了它关心的是模型中没有字段的值。我想要忽略这些。
一个小例子。假设我们有一个包含字段用户名的用户表。
$user = new User();
$user->setArray(array('username'=>'xyz'))->save();
那会有效!
$user = new User();
$user->setArray(array('username'=>'xyz','anotherKey'=>'anotherValue'))->save();
那不是。如果没有相关字段,我希望Doctrine忽略anotherKey。 目的是,我不想在更新模型之前过滤我的数组。
完成这项工作的最简洁,最简单的方法是什么?
答案 0 :(得分:1)
Doctrine_Record :: fromArray()解决了这个问题。 不幸的是它没有返回对象,所以它对方法链没有用......
答案 1 :(得分:-1)
这很有用
将find方法添加到模型中:
class Address extends Doctrine_Record {
public static function factory() {
return new Address();
}
public function findById($id) {
$findObject = Doctrine::getTable('Address')->findOneByid($id);
return $findObject;
}
....
并使用它
$address = Address::factory()
->findById(13)->set('name', 'new data')->set('anotherfield','another data')->save();