3

我有一组值要更新我的模型。

Doctrine_Access 提供了一个 setArray 函数,它几乎正是我所需要的——除了它关心模型中没有字段的值。我希望那些被忽略。

一个小例子。假设我们有一个带有字段用户名的用户表。

$user = new User();
$user->setArray(array('username'=>'xyz'))->save();

那行得通!

$user = new User();
$user->setArray(array('username'=>'xyz','anotherKey'=>'anotherValue'))->save();

那没有。如果没有相关字段,我希望 Doctrine 忽略另一个键。目的是,我不想在更新模型之前过滤我的数组。

完成这项工作的最干净和最简单的方法是什么?

4

2 回答 2

1

Doctrine_Record::fromArray() 解决了它。不幸的是它不返回对象,所以它对方法链接没有用......

于 2009-09-16T21:30:54.340 回答
-1

这很有用

为模型添加查找方法:

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();
于 2010-12-24T18:27:53.227 回答