問題タブ [kohana-orm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - ORMで特定のデータを検証する方法は?
Kohana の ORM には、Kohana の Validation が組み込まれています。
私が理解している限り、データベースに追加されるフィールドを検証します。$_POST
(簡単に言えば)からのフィールドを検証する必要があるため、私にはうまくいきません。
例を挙げましょう。
コントローラーで:
変数$data
は、検証する必要がある配列です。メソッドsign_up()
は、ユーザーを作成する ORM モデルのカスタム メソッドです。コントローラーの「echo'es」と「exit's」について申し訳ありません-デバッグ中です...
私の ORM モデルは次のようになります。
$data
variable のこれら 3 つの要素が
空でないことを確認したい! ORM::save()
私が言ったように、それは呼び出される前に要素をチェックします。そして、ypuが私のコードをよく見ると...カスタムメソッドhashed_password
で何かに設定しました。ハッシュ化されます。問題は、ユーザーがパスワードを送信していない場合(HTMLフォームではそのフィールドを「パスワード」と呼びますが、データベースでは「hashed_password」と呼びます)...パスワードが送信されない場合-空の文字列をハッシュし、ハッシュにつながりますとりあえず。セットhashed_password
です!
次に、検証がオンにORM::save()
なり、結論として、パスワードが空になることはありません! これに対処する方法は?コントローラーでの追加の検証? どのように対処しますか?多分少し異なるロジック?
PS私のコードに対する他の提案は大歓迎です。アドバイスありがとう!
json - Kohana3ORMとの1対多の関係のための再帰的なas_array
まず、自分の問題に対して醜い解決策を作成する方法を知っていると言いたいです。私は良い解決策とベストプラクティスを探しています:)
リレーションタイプが1対多の関連オブジェクトを含むKohana3ORMオブジェクトから(後でjson_encodeに)深い階層配列を作成するにはどうすればよいですか?
問題は、ORM-> as_array()メソッドは、「has one」と「belongsto」の関係に対して再帰的に機能しますが、「has many」の関係に遭遇すると、停止して手動で-> find_all()を使用するように強制することです。 。
Kohana3と組み込みのORMを使用してJSONAPIRESTサーバーを作成しているとします。誰かがこのURLを見ると:www.example.com/api/user?id=5 id=5のユーザーのJSONオブジェクトが提供されます。
これらは、ormモデルと関係です。
- ユーザーは 国に属しています
- ユーザー には多くの メッセージがあります。
- メッセージは カテゴリに属しています
私はこれを機能させたい:
そして私にこのような出力を与えてください:
しかし、それはうまくいきません。これがあなたが得るすべてです:
この種の機能をサポートするために、誰かがKohana 3 ORMをフォークまたは拡張しましたか?
誰かがあなたのためにこの問題をなんとかして処理する良いKohana3apiモジュールを知っていますか?
php - コハナでは、ORMデータの読み取り中に列名を動的に指定するにはどうすればよいですか?
このようなことは可能ですか?明らかに、私が提供したエコーステートメントは失敗しますが、それらをORMで機能させる方法はありますか?
ありがとう、
Serhiy
orm - Kohana の 1 対多の関係
私は 3 つのテーブルを持ってusers
いroles
ますroles_users
。roles_users
テーブルにはuser_id
とrole_id
今、私のモデルはModel_User
、、Model_Role
ですModel_User_Role
。
すべてのユーザーが 1 つの役割に関連付けられ、1 つの役割が多くのユーザーを持つように、3 つのモデルをリンクするにはどうすればよいですか。
私は ORM を使用しており、ロールの名前を持つユーザーのリストを表示したいと考えています。
注:Auth
KohanaのModuleから取ったテーブル。
kohana - Kohana の orm オブジェクトの最後のキーを見つける方法
すべてのユーザー名を ,(カンマ) で表示したいのですが、姓の後にコンマは必要ありません。
コード:
これにより、出力が得られます
jimy, mark, larry,
しかし、最後のコンマは必要ありません。
kohana-3 - Kohana の Auth::instance->get_user()-id からユーザー ID を取得しない
kohanaの認証モジュールを使用しています。登録してログインしましたが、正常に機能しています。しかし、私がそうするとき、私はAuth::instance()->get_user()->id
得ますNULL
ログイン中に私はそれをAuth::instance()->login($validator['email'], $validator['password'])
行い、ユーザーをホームページにリダイレクトします。
しかし、コントローラーの1つで私がするとき、私はAuth::instance()->get_user()->id
得るNULL
何が原因でしょう。最初に何かを設定する必要がありますか?
php - Kohana ORM とファイル アップロードの問題...画像がない場合にレコード ロゴをレコード ロゴと同じに設定する
これにより、このエラーが発生します...
オペランドには 1 列を含める必要があります [ UPDATE
record
SETlogo
= ('', '', '', 4, 0) WHEREid
= '0' ]
それが違いを生む場合、私はFormoモジュールも使用しています...
挿入スクリプトからロゴを完全に追い出す方法はあり$record->logo = $record->logo
ますか?
php - Kohana 3.1 ORM を使用してメールを検証する方法
Kohana 3.1 フレームワークを使用して、Kohana の組み込みクラスORM
を使用して簡単な検証を行っています。Validation
コードを見てみましょう...
モデルには、次の単純なルールがあります。
次に、コントローラーで、クラシックコンストラクトを使用してオブジェクトを検証して保存しようとします。try ... catch
上記の$t
配列は検証されるはずですが、検証されません。代わりに例外をスローし、次のDebug::vars
エラーを呼び出して出力します。
これは明らかに真実ではありません。私が間違っていることは何ですか?
kohana - コハナ3.1ORM:その後の1対多の関係を構築しようとしています
次のようなMySQLテーブル構造があります。
国->Countries_Regions(FK:country_id)-> Countries_Regions_Cities(FK:region_id)
つまり、国と地域の間には1対多の関係があり、地域と都市の間には1対多の関係があります。
私はそれらを次のクラスとリンクさせようとしました:
すべての地域を検索しようとすると、すべてうまくいきます
しかし、私がすべての都市をボトムアップで見つけようとすると、
リージョン内のcityプロパティを認識しますが、すべてのcity値がNULLに設定された空の行を返します。
当たり前のことを見逃しているような気がしますが、それが何なのかわかりません。私を助けてください。
kohana - kohanaORMのクエリで>シンボルを取得する
私は次のコードを使用しています
しかし、クエリ>
では、>記号の代わりに取得します
理由がわからない???