問題タブ [containable]

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 に答える
3527 参照

cakephp - CakePHP Containable: モデル "Comp" はモデル "Comp" に関連付けられていません

Containable 動作を使用して、かなり単純な CakePHP 検索を実行しようとしています。

...しかし、実行時に警告が表示されます:

警告 (512): モデル "Comp" はモデル "Comp" に関連付けられていません [CORE/cake/libs/model/behaviors/containable.php、363 行目]

私の Comp モデルの開始は次のとおりです。

CakePHP 1.3.6 を使用しています

これを引き起こしている可能性のあるアイデアはありますか?

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

cakephp - CakePHPはページ付けに含まれるものを無視しますか?

私はcakephppaginateデータを持ち、それでも使用したいのですcontainableが、何らかの理由でそれは私の嘆願をcontain何に対しても無視しているようで、Tenant行全体を返します。私のTenantsController中には次のコードがあります:

私は単に取得しようとしていますTenantが、表示するだけですusername(これTenantは私のモデルの単なるエイリアスですUser)。

私はここで何が間違っているのですか?それが役に立ったら、cakephpはUndefined Index: Groupnoticeを列の下に投げていGroupます。を使用してケーキに適切なデータを取得させることができるため、モデルの関係が見つかったと思いますfind()。ページ付けを使用しようとすると、データが壊れます。

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

php - 含む/結合と条件を使用したカスタム ページネーション

間接的に関連するモデルからの特定の条件に基づいて、D フィルタリング結果と呼ばれるモデルからいくつかのデータをページ分割しようとしています。私のモデルは次のようになります。

D->C->B->A (各 -> が属する)

A.client = ? の D のレコードをページ付けしたい。

これは、containable を使用して可能ですか? これを行うための推奨される方法は何ですか (モデル D のコンテナブルを使用すると、ページ分割された各アイテムのクエリが発生し、非効率的と思われます)?

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

cakephp - '通知 (8): 'containable' の結果をループすると、ビューに未定義のインデックスが表示される

関連するレコードをビュー アクションにプルするためにコンテナブルを使用していますが、結果をループするときにエラー メッセージが表示されます。

また、「sluggable」動作を使用しているため、検索操作にはこの変数で検索する条件があります。

ビューで検索変数をデバッグすると、正しいレコードが表示されます。しかし、ビューでそれらをループしようとすると、「通知 (8): 未定義のインデックス: エラー」が表示されます。理想的には、このエラーは時々発生するため、このエラーのトラブルシューティング方法を理解するのが好きでした.

モデルのセットアップは次のとおりです。

大会はたくさんあります 大会詳細

トーナメントの詳細には多くの更新があります

表示しようとしているレコードは次のとおりです。

トーナメント -> トーナメントの詳細 -> アップデート

トーナメント コントローラは次のようになります。

トーナメント ビュー アクションは次のようになります。

デバッグ時のビューの「更新」データは次のようになります。

「更新」をループするときに見落としていることが本当に明らかなことはありますか?

ありがとう、ポール

解像度

ご意見ありがとうございます。数歩戻った後、「未定義のインデックス」とループ方法に関するコメントで何が起こっていたのかがわかりました。

問題は、foreach ループがネストされておらず、関連付けの最初のレベルでのみループしていたことです。forearch ループは、多くの「tournamentDetails」を持つ「トーナメント」を処理します。

ループは、多くの「更新」がある「tournamentDetails」まで 1 レベル深くする必要がありました。

ビューでこれを解決したコードを次に示します。

他の人が複数レベルの関連付けで包含可能な動作を使用する方法を理解しようとしている場合は、目的の結果を表示するには、ビューで foreach ループをネストする必要がある場合があることを覚えておいてください。

乾杯、ポール

0 投票する
3 に答える
2070 参照

cakephp - Cakephp を含む

contain :( に問題があります。説明させてください。

モデル関係:

クライアント -> hasMany -> カード -> hasAndBelongsToMany -> パートナー -> hasMany -> 連絡先

私が必要とするのは、クライアントのすべてのパートナーと連絡先を codigo = 24150 で取得し、連絡先を coords_lat = 38.71093 で取得することです。

コード:

私は追加しました

app_model.php へ

正直に言うと、ここで何が起こっているのかよくわかりません... 真実は、mysql が巨大なクエリを実行し、膨大な時間がかかるということですが、「codigo = 24150」で選択することはありません。

助けていただければ幸いです。

前もって感謝します。

ルイ

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

cakephp - CakePHP: ContainableBehaviour で DISTINCT を選択する

関連する個別のモデル エントリのみを選択しようとしていますが、うまくいかないようです。

私はこれを持っています:

しかし、DISTINCT キーワードで指定した場合でも、Cake は関連付けられたモデル キーを自動的に追加するようです。

DISTINCT の大文字またはカテゴリのみを除外するにはどうすればよいですか? 現在の例では、Cake は同じ ID を持つ 20 のカテゴリを返します。1つだけ返してほしい。

ありがとうございました。

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

cakephp - CakePHP-read()メソッドでContainable動作を使用することは可能ですか?

私はCakePHPを初めて使用し、Containableの動作でモデルクラスのread()メソッドを呼び出す方法を理解できません。find()で次のことができます

これは期待どおりに機能しますが、Tのすべてのインスタンスを取得するのではなく、代わりにid = $ idのインスタンスを取得して、「ビュー」ビューに渡すことができます。しかし、検索に渡された配列は、実行時に機能しません

これを行う方法はありますか?

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

cakephp - CakePHP で「contain」を使用して Event->Venue->City から「City」データを取得しようとしています

eventsのリストを返し、cityそれが行われている場所を含めようとしています。都市は、イベントを通じてのみ関連付けられVenueます。

以下は私が使用しているコードです。すべての正しいデータが返されますが、都市データは返されません (Venue の city_id フィールド以外 - なぜ返されるのかわかりません)。

協会:

コード:

おまけの答え: (私は現在、別の StackOverflowの質問で尋ねています) - 日付条件は、表示されるイベントをフィルター処理することになっていますが、代わりに、表示する日付データのみをフィルター処理しています。


有効な回答: (バンサーに感謝)

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

cakephp - Containableを使用して、関連モデル(HABTM)の条件でフィルタリングされた結果をページ分割します

特定の(HABTMアソシエーション)Productに属するのリストをページ付けする必要があります。Category

私のProductモデルには

そしてでProductsController

ただし、結果のSQLは次のようになります。

(つまり、20Productsを選択してから、クエリを実行しますCategories

私が必要な間

(つまり、= 3Productsに属する上位20を選択します)Categoryid

注: なしで考えられる解決策Containableは、(Daveが提案したように)結合を使用することです。 この投稿は、$this->paginate['joins']HABTMアソシエーションをページ付けするために構築するための非常に便利なヘルパーを提供します。

Containable注:偽のhasOneバインディングよりも、より洗練されたソリューションを探しています。

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

cakephp - CakePHPとContainable

まず、この特定のトピックについて、CakePHPの本をできるだけ読み込もうとしたのですが、どういうわけか、これを理解することはできません。

私はいくつかのモデルを持っています:

  • 一人一人が多くの仕事をすることができます
  • 各ジョブには1つのブランチがあり、各ブランチは1つの都市に属しています。

最初は再帰に依存していましたが、(明らかに)十分にカスタマイズできないため、必要なデータを取得できません。

https://github.com/jwg2s/temp

出力配列にデータが多すぎるか、ほとんどデータがないかのどちらかです。これを封じ込めることができないので、私がやろうとしていることの例を見ることができれば、それは素晴らしいことです。 。

ありがとう