5年遅れてプロのプログラミングに戻ったので、最初から学びました;)最初のフレームワークにKohanaフレームワークを選択しました。今、最初のアプリケーションを構築しようとしていますが、小さな問題があります。始めましょう.
デフォルトのAuthモジュールのユーザーテーブルにはデフォルトのフィールド(ユーザー名、パスワード、lastlogin)があることを知っているので、私はKohana ORMとAuthモジュールを使用します:
- 新しいテーブルの作成 (user_additionals)
- 新しいモデルの作成 (User_Additional)
モデルは次のようになります: http://pastie.org/private/412jflfoifyqs46uaxmga - 特別なことはありません。$user->additional->firstname などのように簡単に参照できます。
現時点では、管理パネル (管理者はすべてのユーザーを編集できます) と... すべてのフィールドがあります。名、姓、生年月日のような 10 個のフィールドがフォームとして表示されます (記入済みのフォーム - テンプレートの割り当てによって読み込まれたプレースホルダー)。ここに私の小さな問題があります: 管理者がユーザーの署名を編集する必要がある場合、多くのフィールドから 1 つを編集できるようにしたいまたは別のもの - 彼は利用可能な多くのフィールドから 1 つのフィールドを編集し、[送信] をクリックするのは簡単です - 1 つのフォームが更新されました。
しかし、次のようなものを使用しようとすると: $edit = ORM::Factory('User_Additional')->values($_POST); 検証例外が発生します(これはキャッチされますが、ここに検証エラーがあります-モデルはすべてのフィールドを空にする必要がありました...(検証ルールによる)
私は一時的な解決策を使用していますが、完全主義者であり、最初から良いコードを作成したいので、ここで私のコードを見つけることができます: http://pastie.org/private/axtwxbt66gtvcwiv97hvlq 私の解決策は 29 行目 (上のリンク) から始まります。
だから私の質問は: *このような場合に検証から例外を作成する方法は?? * *アクション /admin/edituser/ などの検証から例外を作成するにはどうすればよいですか? * *どうすれば私のモデルコードをより良くすることができますか? 私を助けることができる提案をありがとう*
ありがとう!