Phalcon обновляет мой внешний ключ до неверного значения

У меня странная проблема, из-за которой одно из моих отношений в моих моделях обновляет внешний ключ до неправильной цифры.

У меня занятия Order, OrderProduct а также OrderAddresses,
Следующие:

$order_addresses = OrderAddress::find(array(
"conditions" => "order_id = :order_id: and active = 'Y'",
"bind" => array("order_id" => $order->getId())
));
foreach ( $order_addresses as $order_address ) {
$order_address->save();
}

По какой-то причине, прежде чем я выполню приведенный выше код, все мои внешние ключи в базе данных являются правильными, однако, когда этот код выполняется, происходит следующий SQL-запрос, который устанавливает внешний ключ (order_id) на номер модели, которая использовалась в код ранее:

UPDATE `order_address` SET `order_id` = ?, `address_id` = ? WHERE `id` = ?

Я понятия не имею, что здесь происходит, и не могу найти обходной путь.

OrderAddress

  public function initialize()
{
//use softdelete
$this->addBehavior(new SoftDelete(
array(
"field" => "active",
"value" => "N")
));

parent::initialize();

$this->belongsTo("order_id", "Order", "id", array(
"alias" => "order"));

$this->belongsTo("address_id", "Address", "id", array(
"alias" => "address"));
}

Order

$this->hasMany("id", "OrderAddress", "order_id", array(
"alias" => "addresses"));

В качестве обходного пути я думал, что установлю order снова на OrderAddress Сделайте следующее, но это не помогло:

order_address->setOrder($order)

1

Решение

Задача ещё не решена.

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

Других решений пока нет …

По вопросам рекламы [email protected]