問題タブ [cakephp]
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 - CakePHPの「サブ」モデルに情報を保存する
シンプルなものがありCakePHP site (1.2)
ます。個人を編集して保存できるページがあります。だから私はPersonモデルとコントローラーを持っています。
コメントテーブルには、各人のコメントはありません。したがって、コメントモデルがあり、PersonモデルとCommentモデルにhasManyの関連付けがあります。ビューはうまく機能しています。
私の質問は、「個人の表示」ページに「コメントの追加」ボタンがあるということです。これはどのように機能する必要がありますか?Personコントローラーにコメントレコードの保存を含めることを期待する必要がありますか、それともコメントコントローラーを作成して、Personの関連付けの外部に保存する必要がありますか?
私はPHPの経験がありますが、Cakeは初めてです。
何か案は?明らかな何かが欠けていると思いますが、どうしたらよいかわかりません。これがPHP
コメント追加フォームでPerson_idを参照し、別のコントローラーを使用する場合のように感じますが、コメントはPersonレコードのコンテキストでのみ編集されるため、単純なモデルのコントローラーは役に立たないように感じます。 。
アイデア?
cakephp - CakePHPの3番目のn..n(hasAndBelongsToMany)関係で2つのテーブルを結合するにはどうすればよいですか?
n...n
2つのテーブルの構造がmakes
ありmodels
ます。これまでのところ問題ありません。
次のような3番目のテーブル(products
):
私の問題は、makeモデルを含む1つの特定の製品のビューを作成することmake
ですProductsController
。
私はこれがうまくいくと思いました:
したがって、を使用list
してビューにパスしてラジオボタンを作成する場合foreach()
は、make
配列ですべてのモデルタイトルを検索し、新しい配列を作成して、を介してビューに送信する必要があります$this->set()
。
make
アレイにストレスをかけずにそのリストを取得する簡単な方法はありますか?私のアプリケーションでそのようなシナリオを開発することは、一般的なタスクになります。
ヒントを事前に感謝します!
php - CakePHP では、編集アクションでフィールドが変更されたかどうかをどのように判断できますか?
関連するフィールドのカウンターをインクリメントするcacheCounter
inを使用しています。CakePHP
例として、Person テーブルと Source テーブルがあります。Person.source_id は、ソース テーブルの行にマップされます。各人物には 1 つの Source があり、各 Source には Person 行がないか、多数あります。
cacheCounter
人のソースの値を変更するとうまくいきます。増加しますSource.Person_Count
。涼しい。
ただし、増分すると、人の宛先ソースに追加されますが、古い値からは削除されません。で試してみupdateCacheControl()
ましたafterSave
が、何もしませんでした。
そこでafterSave
、ソースの source_id を差し引くためのコードをモデルに書きましたが、source_id
. (そのため、カウントはマイナスになりました)。
私の質問: のモデルでフィールドが変更されたかどうかを確認する方法はありCakePHP
ますか?
php - CakePHP の session-flash() 出力に却下コントロールを追加
アプリで、CakePHP 1.2
私は使用しています
「Record edit」のようなメッセージを出力します。それはうまくいっています。
ただし、メッセージをフェードアウトする「Dismiss」というリンクを追加したいと考えています。リンクの作成方法は知っていますが、flass メッセージの出力に挿入する方法がわかりません。
フラッシュ メッセージは、DIV tag
. その div に却下コードを挿入したいのですが、方法がわかりません。
regex - 正規表現を使用してSimpleTestでAssertTagsテストを作成するには?
テキストを生成する関数をテストしたいのですlorem ipsum
が、それは html タグ内で行われます。そのため、テキストの内容を事前に知ることはできませんが、html 構造は知っています。それが私がテストしたいことです。そして、おそらくテキストの長さは一定の制限内です。だから私が疑問に思っているのは、 assertTags がこれを次のように言い換えることができるかどうかです:
CakePHP で SimpleTest を使用していますが、一般的な質問である必要があると思います。
cakephp - CakePHPでコントローラーの親クラスをどこに置くのですか?
ほとんどのコードを共有する 2 つのコントローラーがあります (ただし、異なるコントローラーである必要があります)。(少なくとも私にとっては) 明らかな解決策は、クラスを作成し、2 つのコントローラーがそれを継承するようにすることです。問題は... どこに置くの?今は app_controller.php にありますが、ちょっと面倒です。
php - CakePHP のビューに表示ロジックを配置するためのベスト プラクティス
私は CakePHP 1.2 アプリケーションを持っています。
ビューで物事を正しくレンダリングするためにいくつかのロジックを実行する必要がある場合に遭遇しています。
例: タイプというテーブルがあります。さまざまなタイプのフラグがあるため、各行には 1 つ以上の BOOL フィールドが設定されています。ある型については、RTF の内容を別のフィールドに格納します。
そのため、ビューにすべてのタイプミスのリストを表示するときに、RTF を保存するタイプであるタイプへのリンクを作成したいと考えています。そうでなければ、リンクを表示したくありません。
このロジックに最適な場所はどこですか?
html->link を使用してリンクを作成したいのですが、モデル内では使用できません。ロジックをモデルに入れる必要がありますか?もしそうなら、リンクなど、モデルに HTML を作成する必要がありますか?
php - CakePHP における 3 つのテーブル モデルの関係
私は CAkePHP 1.2 サイトを持っています。私は 3 つの関連するモデル/テーブルを持っています: コメントには正確に 1 つのタッチがあり、タッチには正確に 1 つのタッチタイプがあります。
各モデルには、私が所属しているので、コメントは Touch に属し、Touch は Touchtype に属しています。
touchtype テーブルに格納されているタッチに関する情報を含むコメントのリストを取得しようとしています。
フィールド リストを find() に渡します。Touch と Comment からフィールドを取得できますが、TouchType は取得できません。モデル接続は 1 レベルのみですか? 再帰的に微調整しようとしましたが、それは役に立ちませんでした。
cakephp - CakePHP hasAndBelogsToManyはsave()とsaveAll()を使用しています
私はCakePHPアプリケーションで非常に本質的なデータベースを使用していますが、これまでのところ、マルチモデルのビューとコントローラーは正常に機能しています。外部キーとして他のいくつかのテーブルにある単一のテーブル(Entity
)がありますid
entity_id
一部のテーブルは1対1の関係(aCompany
は1のようにEntity
)であり、一部は1対多(Entity
複数のテーブルを持つことができますAddresses
)などです。
データベースモデルを変更できない/変更できないので、これが構造です。
私はsaveAll()
これらのテーブルに次のような入力名でデータを保存するために使用しています。
そして、私のすべてを救うことは、すべての難しい仕事をしている、、BEGIN TRANSACTION
すべてINSERT
の、そして最後のCOMMIT
...
しかし今、私はEntityCategory
to n関係であるを作成しHABTM
、モデル内に完全な関係を作成しました。
それは私save()
がそれをするときだけ動作しますが、関係だけです、そしてそれは私が使用するとき(以前と同じように)関係を除いてすべてをHABTM
保存します。saveAll()
HABTM
私は何かが足りないのですか?これを正しく機能させるにはどうすればよいですか?今日は次のコードを使用しています。
はsaveAll()
すべてのデータをいくつかのテーブルに保存し、IDをEntity->id
保存save()
し、HABTM
リレーションを保存しますが、それが正しいかどうか、または構造/モデルを変更した場合に問題が発生する可能性があるかどうかはわかりません。
これはそれを使用するための最良の方法ですか?CakePHP内にその関係を保存する正しい方法はありますか?あなたの経験/知識は私に何を教えてくれますか?
cakephp - ページ 2 に移動したときに、ページネーターがカスタム パラメーターを記憶していないのはなぜですか?
Cakephp ビューで paginator ヘルパーを使用すると、私の使用法に合わせてカスタマイズされた URL の一部が記憶されません。
例えば:
ここでmoderatorsは、そのタイプでフィルタリングするのに役立つパラメーターです。ただし、ページネーターのリンクを押しても、このリンクは含まれません。