問題タブ [yii-relations]
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 - リレーションを使用してdropDownListを注文しましたか?
関連するテーブルからデータのリストをドロップダウン形式で取得するために、以下を使用して Yii にいくつかのフォームがあります。
これは機能しますが、それはすべてのドロップダウンリスト(たくさんあります)にこれを入れていることを意味しarray('order' => 'company ASC'
ます。
これが最善の方法ですか?モデルの関係()を使用してこのデータを取得し、関係内で順序を指定する方法はありませんか?
json - YiiJSONとリレーション
すべてのリレーション(サブオブジェクトリレーション)を持つオブジェクトを返すにはどうすればよいですか?現在、EJsonBehaviorを使用していますが、サブ関連オブジェクトではなく、第1レベルの関係のみが返されます。私のソースコード:
php - 2 つのモデルから CGridView を表示しようとすると、Yii 関係の問題が発生する
テーブルを説明する画像 -> http://i.stack.imgur.com/ki2YP.jpg
各テーブルはモデルです。
CGridViewを介して表示される主なモデルは「RegularTask」です。
「YearlyTask」のフィールドを同じ行に表示する必要があります。
「hp_id」と「up_id」は、両方のテーブルの FK (外部キー) です。
次のように、RegularTask モデルで Relations() を設定しようとしました。
次に、「arp.is_sent」と「arp.is_reported」を使用して YearlyTask から「is_sent」と「is_reported」フィールドを表示しようとしましたが、何も表示されません (エラーもありません)。RegularTask からのデータは正常に表示されます。
私は何を間違っていますか?
これは、データプロバイダーからのスニペットです..
php - Yiiフレームワーク-同じ「スルー」テーブルを介した2つの関係
私の目標は、ユーザー名と名前、および採用年と学期を介してドキュメントを検索できるようにすることです。ドキュメントは、ドキュメントが正確に1つの宣言に接続され、宣言が正確に1つのドキュメントに接続されるか、まったく接続されないように、宣言にのみ関連付けられます。
宣言は、OutgoingStudentとRecrutationに関連しています。
したがって、ドキュメントをクエリするときは、Declarationテーブルを介してOutgoingStudentとRecrutationsにもクエリを実行します。
ドキュメント内の関係の私のコード:
そして今、search()関数でクエリを実行したい->
このエラーが発生します:
CDbCommandniezdołałwykonaćinstrukcjiSQL:SQLSTATE [42000] [1066]一意ではないテーブル/エイリアス:'宣言'。実行されたSQLステートメントは次のとおりです。SELECTCOUNT(DISTINCT
t
。DeclarationID
)FROMDocuments
t
LEFT OUTER JOINDeclarations
declaration
ON(t
。DeclarationID
=declaration
。idDeclarations
)LEFT OUTER JOINRecrutation
Recrutation
ON(declaration
。Recrutation_RecrutationID
=Recrutation
。RecrutationID
)LEFT OUTER JOINDeclarations
declaration
ON(t
。DeclarationID
=declaration
。idDeclarations
)LEFT OUTER JOINOutgoingStudent
outgoingStudentUserIdUser
ON(declaration
。OutgoingStudent_User_idUser
=outgoingStudentUserIdUser
。User_idUser
)
のみを使用する場合、$criteria->with = array('declaration','Recrutation')
または$criteria->with = array('declaration','outgoingStudentUserIdUser')
両方を使用する場合のみエラーは発生しません。
おそらくそれは他の方法で行われるべきですが、どうやって?
php - Many_Many リレーションで Yii を条件付ける方法
テーブルがあります:
単純な yii モデルを使用します。
シンプルな yii コントローラーを使用します。
yii は out 状態ステータスを含む完全なリストを返します:(
movie.state = 1 という条件でムービーを取得するにはどうすればよいですか?
yii - モデル関係とテーブル スキーマ (キーとコメントを含む) をフローチャートとして表示するための Yii 拡張機能またはメソッドを知っている人はいますか?
これをうまく行う拡張機能/モジュール/などを見つけることができないようです。
次のように列のメタデータにアクセスできますが、モデルのインデックスにフローチャートまたはハイパーグラフとして表示する良い方法が必要です。
// echo $m->toJSON(); // json 動作を使用し、これを js フローチャートに渡してスキーマを表示します
php - 再帰的な Yii クエリ
私は Yii にかなり慣れていないので、関連するモデルの障壁に遭遇しました。他の初心者も時々これに出くわすと思います。この問題について何も見つからないので、正しい方向に向けるためだけでも、どんな意見でも感謝します。
私は3つの関連モデルを持っています-
- 投稿
- 反応
- コメント
Posts Have_Many Responses と Responses Have_Many Comments-
投稿 -> 返信 -> コメント
関連付けられた応答と関連付けられたコメントを返す特定の投稿に対して、Post コントローラーでクエリを実行したいと考えています。これは、次のいくつかのバリエーションと組み合わせてfindメソッドを使用して実行できるという印象を受けています(正しい/間違っている)-
明らかに、これは機能しません。この問題を解決する方法またはアプローチを知っている人はいますか?
yii - 2レベルの1-N関係を持つCGridView列でソートおよび検索する方法は?
この質問は、この他の質問に直接続きます
このテーブルがあります: グループ、ユーザー、レポート
関係: グループ 1 -> N ユーザー ** および ** ユーザー 1 -> N レポート
私はすでにレポートモデルでこの関係を持っています:
そして、これはユーザーモデルで
レポートモデルには次のものがあります:
レポートの管理ビューでは、 CGridViewを使用しています。
グループ名の表示に user.group.name を使っているのですが、検索(DropDownで)・並び替えの方法は!?
sql - yii で関連する 2 つのモデルから 2 つの列の合計を取得する
私は yii を使ったのはかなり新しいですが、php と sql の経験は豊富です。yii の経験が豊富な人が私を正しい方向に向けてくれることを願っています。Project と Costs という 2 つのモデルがあり、project_cost テーブルを介して多対多の関係で相互に関連付けられています。その理由は、コストをプロジェクト間で共有できるからです。project_cost テーブルには、特定のプロジェクトに割り当てられたコストを含む追加の列があります。
したがって、Project モデルの関係は次のようになり、すべての詳細を取得するために完全に正常に機能しています。
コスト モデルには Value という名前の列があり、project_cost テーブルには列名 Percent があります。次のようなプロジェクト コストの合計を返す SQL クエリを含む関数を作成するのは簡単です。
しかし、yii のリレーションを介して同じことを行う方法はありますか? 私は STAT 関係について知っていますが、これまでに読んだほとんどのことは、関係に 2 つのモデルしかない場合に関係が最もうまく機能することを示しているため、この場合にそれらをどのように適用できるかについては不明です。
php - Yii CActiveDataProvider 多対多
CActiveDataProvider で多対多の関係を実装する方法がわかりません。
最初の状況では、次の関係を持つ 1 つのモデル「会社」があります。
今、私は会社のすべての管理者を取得したいと考えています。通常、私はしました:
だから私は会社のすべての管理者を持っています。
しかし、私は解析しませんでした.CActiveDataProviderでそれを行う方法.
しかし、この方法では、すべての管理者を含む会社のレコードを取得できますが、すべての管理者を含む配列は取得できません。
更新: リレーション テーブルのモデルを作成して{{company_user}}
これを使用することもできますが、正しい方法ではないと思います。