質問

iデータベースには、一時停止時間を格納するための2つのフィールド、すなわち 'phour' 'pmin' があるというイベントモデルがあります。 イベント作成フォームで、フォームが送信された後に次の配列を生成するタイプタイムの入力フィールドがあります。

array(
    'Event' => array(

        'pause' => array(
            'hour' => '02',
            'min' => '30'
        ),
        'hours' => '3',
        'minutes' => '30',
    )
)
.

フォームの送信後にDBフィールドに従って一時停止時間と分を割り当てる必要がありますが、働くことはできません。

あらゆる助けが大いに評価されています。

役に立ちましたか?

解決

データを編集するために、モデル内の beforeSave()コールバックを常に使用します。

コールバックメソッド

@ Jimmy-Madon

の例で
public function beforeSave($options = array())
{
    if (!empty($this->data[$this->alias]) {
        $this->data[$this->alias]['phour'] = $this->data[$this->alias]['pause']['hour'];
        $this->data[$this->alias]['pmin'] = $this->data[$this->alias]['pause']['min'];

    }

    return true;
}
.

他のヒント

あなたのフォームによって呼び出されたアクションで、:

if (!empty($this->request->data['Event']) {
    $this->request->data['Event']['phour'] = $this->request->data['Event']['pause']['hour'];
    $this->request->data['Event']['pmin'] = $this->request->data['Event']['pause']['min'];
    $this->Event->save($this->request->data);
}
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top