私はファイルアップロードフィールドを持つフォームを持っています。ファイル処理を処理するモデル動作ファイルを作成しました。 beforeSaveでcakePHPのafterSave()でモデルを保存する
私はいくつかのものを行うと、それを保存することができますので、nullにデータ内のファイル値を設定します。
は、私は2つの機能、beforeSaveとafterSaveを持っています。それ以外の場合、配列を保存しようとします。データベースはただの文字列(ファイル名)を返します。
afterSaveでは、フォームのテキストフィールドに基づいて新しいファイル名を生成し、その最後のlastInsertIdを追加します。私はまたファイルをtempから目的の場所に移動します。 これはうまくいきますが、新しいファイル名をモデルに保存しようとすると、それは機能しません。
私は多くのテストとデバッグを行いましたし、オンラインでの検索にも時間を費やしました。結論は、あなたがafterSaveで保存することができないということです、それはそれ自身を引き起こし、前に実行して保存します。
私の質問は、新しく挿入したモデルをどのように更新できますか?挿入されたファイル名はその名前にプライマリキーが必要であり、beforeSaveの時刻には未知のものです。
ご協力いただきありがとうございます。 jason
それは私がそれをやっているが、その動作していないthats。それは前に始まっているように見えます。 – Jason
@jason、もう一度保存しようとすると保存前に保存されます。後で保存します。投稿するには少し追加してみて、何が起こったのか教えてください。 – Ish
どういう意味ですか? query()でどのように保存できますか? – Jason