MySQL — Phalcon PHP: обновление первичного натурального ключа

Есть ли хороший способ обновить таблицу, которая имеет естественный ключ в 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 пытается вставить новую запись, а не обновлять существующую запись. Что я необходимость это ОБНОВЛЕНИЕ … ГДЕ человек = ‘Эд’;

Мысли?

Спасибо!

1

Решение

Попробуйте следующее …

<?php
$personUpdate = People::findFirst('person = "Ed"');
$personUpdate->person = 'Bob';
$person->update();
2

Другие решения

Вы делаете правильно, кроме … People::find

find подготовит для получения всех данных .. это означает, что его в массиве Документация

Вам нужно использовать findFirst вместо find

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

Обратите внимание, что вы используете $ person-> update () вместо $ personUpdate-> update ();

    <?php
$personUpdate = People::findFirst('person = "Ed"');
$personUpdate->person = 'Bob';
$person->update();
0
По вопросам рекламы [email protected]