問題タブ [has-and-belongs-to-many]

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 投票する
5 に答える
2104 参照

cakephp - CakePHPの3番目のn..n(hasAndBelongsToMany)関係で2つのテーブルを結合するにはどうすればよいですか?

n...n2つのテーブルの構造がmakesありmodelsます。これまでのところ問題ありません。

次のような3番目のテーブル(products):

私の問題は、makeモデルを含む1つの特定の製品のビューを作成することmakeですProductsController

私はこれがうまくいくと思いました:

したがって、を使用listしてビューにパスしてラジオボタンを作成する場合foreach()は、make配列ですべてのモデルタイトルを検索し、新しい配列を作成して、を介してビューに送信する必要があります$this->set()

makeアレイにストレスをかけずにそのリストを取得する簡単な方法はありますか?私のアプリケーションでそのようなシナリオを開発することは、一般的なタスクになります。

ヒントを事前に感謝します!

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

cakephp - CakePHP hasAndBelogsToManyはsave()とsaveAll()を使用しています

私はCakePHPアプリケーションで非常に本質的なデータベースを使用していますが、これまでのところ、マルチモデルのビューとコントローラーは正常に機能しています。外部キーとして他のいくつかのテーブルにある単一のテーブル(Entity)がありますidentity_id

一部のテーブルは1対1の関係(aCompanyは1のようにEntity)であり、一部は1対多(Entity複数のテーブルを持つことができますAddresses)などです。

データベースモデルを変更できない/変更できないので、これが構造です。

私はsaveAll()これらのテーブルに次のような入力名でデータを保存するために使用しています。

そして、私のすべてを救うことは、すべての難しい仕事をしている、、BEGIN TRANSACTIONすべてINSERTの、そして最後のCOMMIT...

しかし今、私はEntityCategoryto n関係であるを作成しHABTM、モデル内に完全な関係を作成しました。

それは私save()がそれをするときだけ動作しますが、関係だけです、そしてそれは私が使用するとき(以前と同じように)関係を除いてすべてをHABTM保存します。saveAll()HABTM

私は何かが足りないのですか?これを正しく機能させるにはどうすればよいですか?今日は次のコードを使用しています。

saveAll()すべてのデータをいくつかのテーブルに保存し、IDをEntity->id保存save()し、HABTMリレーションを保存しますが、それが正しいかどうか、または構造/モデルを変更した場合に問題が発生する可能性があるかどうかはわかりません。

これはそれを使用するための最良の方法ですか?CakePHP内にその関係を保存する正しい方法はありますか?あなたの経験/知識は私に何を教えてくれますか?

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

ruby-on-rails - 複数のデータベースとの多くの関係を持ち、所属する

会社と権限の 2 つのモデルがあり、会社が権限データベースとは別のデータベースにある状況があります。各会社は多くの権限を持つことができ、各権限は多くの会社に属することができるため、これは複数の所有者の関係です。

2 つのデータベースが分割されている理由は、会社のデータベースが需要の高い運用アプリケーションを実行し、アクセス許可データベースが別のアプリケーションのアクセス許可を制御するためです。

Rails では、プライマリ テーブルと同じデータベース内の結合テーブルを探します。たとえば、company.permissions を実行すると、会社のデータベースで company_permissions が検索されます。私が permission.companies を実行すると、アクセス許可データベースが検索されます。

複数のデータベースとの has and belongs to many 関係を使用するための最適なソリューションは何ですか?

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

ruby-on-rails - Rails Associations、habtm? 多形?両方?

私の Rails アプリには、Projects、BlogPosts、Images の 3 つのモデルがあります。プロジェクトとブログ投稿には多くのリンクされた画像を含めることができ、画像はプロジェクト、ブログ投稿、またはその両方にリンクできます。

Railsでこれを機能させるために関連付けを設定する最良の方法は何ですか?

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

php - HABTM 関係を使用して CakePHP でデータを照会するにはどうすればよいですか?

私は CakePHP 1.2 アプリケーションに取り組んでいます。結合テーブルを介して他のテーブルとのいくつかの HABTM 関係で定義されたモデル「ユーザー」があります。

私は現在、これらの HABTM テーブルの 1 つに格納されているデータに基づいてユーザー情報を見つけることを任されています。残念ながら、クエリを実行すると、テーブルが見つからないというエラーで条件が拒否されます。調べてみると、CakePHP の select ステートメントに HABTM テーブルが含まれていないようです。

私のユーザー HABTM 関係は次のとおりです。

エラーは次のとおりです。

SQL エラー: 1054: 'where 句' に不明な列 'School.name' があります

最後に、実行しようとしているクエリ

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

ruby-on-rails - Rails:実際にモデルを持たない結合レコードを観察する方法は?

オブザーバーを使用して、JOIN レコードの作成を観察することは可能ですか? たとえば、has_and_belongs_to_many の書籍モデルを持つユーザー モデルがあるとします。作成または削除された books_users レコードを監視することはできますか、それとも BookUser モデルを使用する必要がありますか?

私が観察したいものの例:

また

または何でも!

ありがとう、

デイブ K.

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

ruby-on-rails - HABTM テーブルの追加データを編集するには?

HABTM テーブルの追加データを更新するにはどうすればよいですか。

例: moviespeopleおよび HABTMテーブルがありますが、特定の映画でのこの人物の役割を示すmovies_people追加persontype_idのフィールドがテーブルにあります。movies_peopleこの値を追加/変更するにはどうすればよいですか?

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

ruby-on-rails - レールで has_and_belongs_to_many 関係を削除しようとしています

昨日、最初のRailsプロジェクトを開始しました。私のアプリケーションには 2 つの多対多 (has_and_belongs_to_many) の関係がありました。モデルのゲームとチームの間に 1 つ、モデルの統計と結果の間にもう 1 つありました。これは、移行を使用して結合テーブルを自分で作成することで、すべて正常に機能していました。

次に、統計と結果の関係を多対多にするのではなく、何対多にするかを決定したので、次の移行を実行し、関係を has_many と belongs_to に切り替えました。

次に、これを行うと、たとえば Result.find(0).stat を呼び出すときに NoMethodError が発生するため、新しい 1 対多の関係が機能しないだけでなく、ゲームやチームとの以前の作業中の多対多の関係が機能しなくなります。現在も壊れています。以前は Game.fine(0).teams を呼び出して結果を見つけて表示することができましたが、今では NoMethodError も取得します。何かご意見は?私はかなり迷っており、どんな助けも素晴らしいでしょう。