1

有没有一种好方法可以更新在 Phalcon 中具有自然键的表?

考虑这张表:

people
------
person
created_at
updated_at

我们将假设 person 字段是唯一的并且是主键。我尝试执行以下操作:

$person = new People();
$person->person = 'Ed';
$person->save();

$personUpdate = People::findFirst('person = "Ed"');
$personUpdate->person = 'Bob';
$person->save();

Phalcon 最终尝试做的是插入新记录,而不是更新现有记录。我需要它做的是 UPDATE ... WHERE person = 'Ed';

想法?

谢谢!

4

3 回答 3

2

尝试以下...

<?php 
$personUpdate = People::findFirst('person = "Ed"');
$personUpdate->person = 'Bob';
$person->update();
于 2014-12-09T13:28:41.110 回答
1

你做对了,除了......People::find

find将准备获取所有数据..这意味着它在数组 文档中

您需要使用findFirst而不是find

$personUpdate = People::findFirst('person = "Ed"');
$personUpdate->person = 'Bob';
$person->save();
于 2014-12-08T19:17:27.453 回答
0

请注意,您正在使用 $person->update() 代替 $personUpdate->update();

    <?php 
$personUpdate = People::findFirst('person = "Ed"');
$personUpdate->person = 'Bob';
$person->update();
于 2015-01-15T22:38:39.470 回答