0

誰かがこれで私を助けてくれることを願っています:

TRUE1 つの値のみを含む列が必要です。(または '1') の値をTRUE行に設定し、残りの行がFALSE(または '0') であることを保証したいと考えています。

これは CakePHP でどのように達成できますか?

4

1 に答える 1

1

これをデータベースレベルで強制することはできません(トリガーを使用する場合は強制できます)。そのため、Model :: beforeSave()を使用して強制する必要があります。

次のようなもの:

public function afterSave() {

    if ($this->data['Model']['field'] == 1) {
        // set all other records to false
        $this->updateAll(array('field'=>0));
    }

}

レコードが保存されるとき、「フィールド」がtrueに設定されているのはレコードだけである必要があります。

于 2012-06-29T10:15:43.997 に答える