如何使用ParseObject更新字段?

时间:2014-11-12 21:27:23

标签: php parse-platform

如何使用Extend更新字段?

示例SQL:UPDATE Empresa SET categorias ='cat_01'WHERE id_user ='dlkj83d'

$query = new ParseQuery('Empresa');
$query->equalTo("users", Session::get('user'));
$query->add("categorias", 'cat_01');   <- ERROR
$query->save();

测试

$query = new ParseQuery('Empresa');
$query->equalTo("users", Session::get('user'));

$empresa = new ParseObject($query);
$empresa->add('categorias', array('cat_01'));
$empresa->save();

不起作用。

:(

2 个答案:

答案 0 :(得分:1)

没有这样的ParseQuery::add()功能。您正试图将UPDATE拼凑成SELECT ...您必须先find()生成ParseObject并迭代每一个:

$query = new ParseQuery('Empresa');
$query->equalTo('users', Session::get('user'));
$results = $query->find(); // Returns an array of ParseObjects

foreach ($results as $res) {
    $res->add('categorias', 'cat_01');
    $res->save(); // Make sure you write Exception handling for this in the future
}

还有一个ParseObject::set and setArray函数会实现相同的功能,因为add可能会被弃用。

答案 1 :(得分:0)

完美。

    $query = new ParseQuery('Restaurante');
    $query->equalTo("users", Session::get('user'));

    $results = $query->first();
    $results->add('categorias', array('cat_02'));
    $results->save();

我对NoSQL方法仍有一些困难。知道推理是不同的。

感谢您的关注。

您是开发团队的一员吗?