order
データベースのフィールドの2行の値を変更する必要があります。このフィールドは一意です。
私が試したこと:
両方の項目の値をPHP変数に格納します。
最初の行のフィールド値を
NULL
(フィールドではnullが受け入れられます)に設定します。2番目の行のフィールドの値を最初の行で保持されていた値に設定し、
最初の行のフィールド値を元の2番目の行のフィールド値に設定します。
順序変更の実行時に「エントリの重複」エラーが発生するため、機能しません。CakePHPを使用してこれを行う方法を見つけることができないようです。
これが私が書いたコードです(それは機能的ではありませんが):
if ($second_row) {
$next = $second_row['Immeuble']['order'];
$prev = $first_row['Immeuble']['order'];
$this->Immeuble->id = $first_row_id;
$this->Immeuble->saveField('order', 'null');
$this->Immeuble->id = $second_row['Immeuble']['id'];
$this->Immeuble->saveField('order', $prev);
$this->Immeuble->id = $first_row_id;
$this->Immeuble->saveField('order',$next);
}