問題タブ [cakephp-model]
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 を始めたばかりです。私は MVC フレームワークの経験がありますが、この問題が少し足を引っ張っています。
私は現在foo
、プライマリ ID といくつかの属性を含むモデルに取り組んでいます。の変更の完全な履歴foo
が必要なため、 の内容はfoo
テーブル に保存されますfoo_content
。2 つのテーブルはfoo_content.foo_id = foo.id
、Cake の関係で を介して接続されfoo hasMany foo_content
ます。
のバージョンを追跡するためにfoo
、 にfoo_content
も列が含まれておりversion
、foo
それ自体にフィールドが含まれていますcurrentVersion
。バージョンは、ユーザーが更新するたびに 1 ずつ増加する番号foo
です。これは古いネイティブ PHP アプリで、Cake の上に書き直されます。アプリの 10 回中 9 回、最新バージョン ( foo.currentVersion
) は、フロントエンドで表す必要がある db エントリです。
私の質問は単純です:これをモデルで直接表現する方法はありますか? それとも、この種のロジックは単にコントローラーで定義する必要があるのでしょうか?
あなたの助けに最も感謝します!
php - Cakephp:: 他のテーブルからデータを取得しますか?
このモデルは User と呼ばれ、このモデルは「Users」テーブルを使用します。このモデルは、管理者がログインできるように特別に設計されています。このモデルには、「id、username、password、created、modified」フィールドがあります。
ここで、さらにユーザーを追加する場合は、「通常のユーザー」、つまりログインできないユーザーです。私は何をすべきか?
現在、「Person」という新しいモデルを作成し、「id、username、email」フィールドを持つ「people」テーブルを使用しています。
管理パネル (ユーザー モデル) から、通常のユーザー (個人モデル) データを表示するにはどうすればよいですか?
php - CakePHP モデルの関連付け/同じテーブルとの結合
親と子を含むテーブルがあります。親とその子を返すようにモデルを構築できるようにしたい、つまりそれ自体に関連付けます。
次のSQLを使用します
php - CakePHP の "SHOW FULL COLUMNS" クエリを削除するにはどうすればよいですか?
これらが必ずしも大きなSHOW FULL COLUMNS FROM
パフォーマンスの問題ではないことはわかっていますが、Cake が生成する不要なクエリを取り除きたいと考えています。私は Containable ビヘイビアーを使用してみました。これにより、Cake が myfind()
に含めていないアソシエーションを調べることができなくなると思いましたが、それでもSHOW FULL COLUMNS FROM
SQL ダンプにクエリが表示されます。も試しunbindModel()
ましたが、効果がありません。
私は専門家ではなく、Cake のすべての複雑さを理解しているわけではありません。
php - CakePHP はモデルの関連付けをデータベース テーブルに追加します
私は CakePHP を初めて使用し、英語が母国語ではないため、質問が明確でない場合は申し訳ありません。とにかく、 DeveloperとGameの 2 つのモデルがあります。
と
ゲームと開発者の ID を実際に知らなくても、ゲームと開発者の間に関係があることを示す game_id フィールドと developer_id フィールドのみを持つテーブル developer_games に新しい行を追加するにはどうすればよいでしょうか。同時。私は CakePHP がこれを行うことができると思っていましたが、developer_games テーブルに新しい行を追加しませんでした。データを保存した後に Game と Developer の 'id' フィールドを取得し、その後手動でリレーションシップ モデル データを developer_games テーブルに保存する必要がありますか?
新しいゲームと開発者をデータベースに追加するために使用するコードは次のとおりです。
不明な点がある場合はお知らせください。明確にいたします。私は長い間この問題に苦しんできたので、私が得られる助けに感謝します。ありがとう!
php - 逆参照を提供しない CakePhp モデルの関係
現在、私のモデル関係船は次のように設定されています
投稿ビューのコメント セクションでユーザー名を参照しようとすると、無効なインデックスを示すエラーが発生し、さらに調査したところ、モデルにはユーザー情報のみがコメントの後方参照として含まれていないことに気付きました。投稿に含まれています
結果の配列は次のようになります。
私の質問は、これはモデルの関連付けで私が間違ってやっていることが原因ですか、これはモデルフレームワークの制限ですか、それともこのタイプのインスタンスでユーザーモデルから手動でユーザーを取得する必要がありますか?
php - 複数のエントリを持つ 2 つの別々のテーブルに saveall() を試行しています
こんにちは。私の人生では、この爆破されsaveall()
た機能を機能させることはできないようです。私はそれが魔法だと言いましたが、火花を散らすのに必要なミディクロリアンやどんな派手なものも十分に持っていてはいけません。
したがって、質問、コメント、従業員、および回答という 4 つの異なるテーブルがあります。質問には多くの回答があり、回答には 1 つのコメントがあります。回答は従業員に属します。私のモデルで設定されているものは次のとおりです。
回答モデル
コメント モデル
データを実行するsaveall()
と、コメントの answer_id が数値ではないというエラーが表示されます。これが、保存しようとしているデータツリーの設定です(次を使用$this->Answer->saveall($this->data);
:
ここで何が問題なのかを理解するのを手伝ってくれる人はいますか? 助けてくれてありがとう。
編集: $data 配列を更新して、キーがゼロから始まり、1 ずつ増加するようにしました (つまり、array(0=>array(),1=>array(),2=>array());
など)。これにより、検証エラーはなくなりましたが、データはまだ保存されていません。
php - hasOne関係でCakePHPが特定の数を超えて行をプルしない
私は、いくつかの大規模な相互関係モデルを持つデータベースを持つクライアントを持っています。私たちが作成している $hasOne 関係で奇妙な「バグ」に遭遇しました。問題はこれです:
モデル UsersItems には、Users との $hasOne 関係があります。以下の通りです
これにより、ユーザー データがプルされ、これらのアイテムの別名「作成者」と結合されます (これは、ユーザーが「ブックマーク」のために選択したというコンテキストでは、ユーザーにも属します)。
UserItem の値がid
3445 (テーブルの現在のサイズの範囲の中間) の場合、問題なく処理されます。
ただし、UserItem の がid
5000 (テーブルの現在のサイズの上限) である場合、その $hasOne は から情報を取得できませんfind()
。したがって、新しい「ブックマークされた」アイテムは作成者データを取得しないように見えますが、他の (「古い」) アイテムは問題なく取得できます。
これは何が原因でしょうか?
追加情報
クエリは次のとおりです。
第二補遺
このクエリは機能します。
この特定のビットの違いに注意してください。
以前、著者 ID として間違ったものを取得してid
いたので、それが問題であることがわかりました。今、私は Cake にこの正しいクエリを生成させる方法を見つけようとしています...
mysql - クラステーブルの継承に代わるCakePHP?
CakePHP でクラス テーブル継承モデルを作成したいと考えています。
upc、価格など、すべての製品が持つべきすべての基本情報を保持するためProductBase
に、テーブルのようなものと呼ばれるモデルが必要です。product_bases
次に、特定の製品タイプ モデルにそれを拡張させます。たとえば、ring_size、center_stone などの特定のリング情報を保持ProductRing
するテーブルを使用します。product_rings
次に、ProductBase モデルから直接データを取得する場合は、すべてのタイプを取得します。
または、特定のタイプのみを検索します。
CakePHP でこのようなことは可能ですか? そうでない場合、代わりに何をすべきですか?
このようなことを行う適切なケーキの方法は何ですか?
cakephp - コントローラから他のモデルにデータを送信する方法は?
登録用のビューを作成し、データをコントローラーに送信します
使用しようとしているMyprofileモデルにmemberscontrollerからデータを送信したい
私は得た
私が使うとき
私は得た
正しい方法がわからない問題を解決する別の方法もありますアドバイスをありがとう