問題タブ [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.

0 投票する
1 に答える
64 参照

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も列が含まれておりversionfooそれ自体にフィールドが含まれていますcurrentVersion。バージョンは、ユーザーが更新するたびに 1 ずつ増加する番号fooです。これは古いネイティブ PHP アプリで、Cake の上に書き直されます。アプリの 10 回中 9 回、最新バージョン ( foo.currentVersion) は、フロントエンドで表す必要がある db エントリです。

私の質問は単純です:これをモデルで直接表現する方法はありますか? それとも、この種のロジックは単にコントローラーで定義する必要があるのでしょうか?

あなたの助けに最も感謝します!

0 投票する
2 に答える
747 参照

php - Cakephp:: 他のテーブルからデータを取得しますか?

このモデルは User と呼ばれ、このモデルは「Users」テーブルを使用します。このモデルは、管理者がログインできるように特別に設計されています。このモデルには、「id、username、password、created、modified」フィールドがあります。

ここで、さらにユーザーを追加する場合は、「通常のユーザー」、つまりログインできないユーザーです。私は何をすべきか?

現在、「Person」という新しいモデルを作成し、「id、username、email」フィールドを持つ「people」テーブルを使用しています。

管理パネル (ユーザー モデル) から、通常のユーザー (個人モデル) データを表示するにはどうすればよいですか?

0 投票する
2 に答える
3273 参照

php - CakePHP モデルの関連付け/同じテーブルとの結合

親と子を含むテーブルがあります。親とその子を返すようにモデルを構築できるようにしたい、つまりそれ自体に関連付けます。

次のSQLを使用します

0 投票する
1 に答える
2147 参照

php - CakePHP の "SHOW FULL COLUMNS" クエリを削除するにはどうすればよいですか?

これらが必ずしも大きなSHOW FULL COLUMNS FROMパフォーマンスの問題ではないことはわかっていますが、Cake が生成する不要なクエリを取り除きたいと考えています。私は Containable ビヘイビアーを使用してみました。これにより、Cake が myfind()に含めていないアソシエーションを調べることができなくなると思いましたが、それでもSHOW FULL COLUMNS FROMSQL ダンプにクエリが表示されます。も試しunbindModel()ましたが、効果がありません。

私は専門家ではなく、Cake のすべての複雑さを理解しているわけではありません。

0 投票する
2 に答える
2848 参照

php - CakePHP はモデルの関連付けをデータベース テーブルに追加します

私は CakePHP を初めて使用し、英語が母国語ではないため、質問が明確でない場合は申し訳ありません。とにかく、 DeveloperGameの 2 つのモデルがあります。

ゲームと開発者の ID を実際に知らなくても、ゲームと開発者の間に関係があることを示す game_id フィールドと developer_id フィールドのみを持つテーブル developer_games に新しい行を追加するにはどうすればよいでしょうか。同時。私は CakePHP がこれを行うことができると思っていましたが、developer_games テーブルに新しい行を追加しませんでした。データを保存した後に Game と Developer の 'id' フィールドを取得し、その後手動でリレーションシップ モデル データを developer_games テーブルに保存する必要がありますか?

新しいゲームと開発者をデータベースに追加するために使用するコードは次のとおりです。

不明な点がある場合はお知らせください。明確にいたします。私は長い間この問題に苦しんできたので、私が得られる助けに感謝します。ありがとう!

0 投票する
2 に答える
453 参照

php - 逆参照を提供しない CakePhp モデルの関係

現在、私のモデル関係船は次のように設定されています

投稿ビューのコメント セクションでユーザー名を参照しようとすると、無効なインデックスを示すエラーが発生し、さらに調査したところ、モデルにはユーザー情報のみがコメントの後方参照として含まれていないことに気付きました。投稿に含まれています

結果の配列は次のようになります。

私の質問は、これはモデルの関連付けで私が間違ってやっていることが原因ですか、これはモデルフレームワークの制限ですか、それともこのタイプのインスタンスでユーザーモデルから手動でユーザーを取得する必要がありますか?

0 投票する
2 に答える
139 参照

php - 複数のエントリを持つ 2 つの別々のテーブルに saveall() を試行しています

こんにちは。私の人生では、この爆破されsaveall()た機能を機能させることはできないようです。私はそれが魔法だと言いましたが、火花を散らすのに必要なミディクロリアンやどんな派手なものも十分に持っていてはいけません。

したがって、質問、コメント、従業員、および回答という 4 つの異なるテーブルがあります。質問には多くの回答があり、回答には 1 つのコメントがあります。回答は従業員に属します。私のモデルで設定されているものは次のとおりです。

回答モデル

コメント モデル

データを実行するsaveall()と、コメントの answer_id が数値ではないというエラーが表示されます。これが、保存しようとしているデータツリーの設定です(次を使用$this->Answer->saveall($this->data);

ここで何が問題なのかを理解するのを手伝ってくれる人はいますか? 助けてくれてありがとう。

編集: $data 配列を更新して、キーがゼロから始まり、1 ずつ増加するようにしました (つまり、array(0=>array(),1=>array(),2=>array());など)。これにより、検証エラーはなくなりましたが、データはまだ保存されていません。

0 投票する
4 に答える
277 参照

php - hasOne関係でCakePHPが特定の数を超えて行をプルしない

私は、いくつかの大規模な相互関係モデルを持つデータベースを持つクライアントを持っています。私たちが作成している $hasOne 関係で奇妙な「バグ」に遭遇しました。問題はこれです:

モデル UsersItems には、Users との $hasOne 関係があります。以下の通りです

これにより、ユーザー データがプルされ、これらのアイテムの別名「作成者」と結合されます (これは、ユーザーが「ブックマーク」のために選択したというコンテキストでは、ユーザーにも属します)。

UserItem の値がid3445 (テーブルの現在のサイズの範囲の中間) の場合、問題なく処理されます。

ただし、UserItem の がid5000 (テーブルの現在のサイズの上限) である場合、その $hasOne は から情報を取得できませんfind()。したがって、新しい「ブックマークされた」アイテムは作成者データを取得しないように見えますが、他の (「古い」) アイテムは問題なく取得できます。

これは何が原因でしょうか?

追加情報

クエリは次のとおりです。

第二補遺

このクエリ機能します。

この特定のビットの違いに注意してください。

以前、著者 ID として間違ったものを取得してidいたので、それが問題であることがわかりました。今、私は Cake にこの正しいクエリを生成させる方法を見つけようとしています...

0 投票する
2 に答える
808 参照

mysql - クラステーブルの継承に代わるCakePHP?

CakePHP でクラス テーブル継承モデルを作成したいと考えています。

upc、価格など、すべての製品が持つべきすべての基本情報を保持するためProductBaseに、テーブルのようなものと呼ばれるモデルが必要です。product_bases

次に、特定の製品タイプ モデルにそれを拡張させます。たとえば、ring_size、center_stone などの特定のリング情報を保持ProductRingするテーブルを使用します。product_rings

次に、ProductBase モデルから直接データを取得する場合は、すべてのタイプを取得します。

または、特定のタイプのみを検索します。

CakePHP でこのようなことは可能ですか? そうでない場合、代わりに何をすべきですか?

このようなことを行う適切なケーキの方法は何ですか?

0 投票する
5 に答える
1884 参照

cakephp - コントローラから他のモデルにデータを送信する方法は?

登録用のビューを作成し、データをコントローラーに送信します

使用しようとしているMyprofileモデルにmemberscontrollerからデータを送信したい

私は得た

私が使うとき

私は得た

正しい方法がわからない問題を解決する別の方法もありますアドバイスをありがとう