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

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

forms - Yii で 2 つのテーブルを 1 つのフォームに接続する方法

私は最近 Yii フレームワークを導入され、現在、会社の Web アプリケーション システムを開発しています。ただし、それぞれのテーブルに接続するためにモデルを作成するときに、一度に 1 つのリレーションしか選択できないことに気付きました。ただし、同じデータベースの 2 つの別個のテーブルを 1 つのフォームで接続する必要があります。

これをどのように達成できるかについてのアイデアはありますか?

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

activerecord - モデルの特定の関係を構築する YII アクティブレコード

CGridView を使用して車両モデルを表示しようとしています。

Fld7465RRef 参照列の値を表示するには、次の sql select が必要です。

このクエリの関係を構築するための解決策が見つかりません。

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

caching - Yii 関係により、アイテムが存在しない (キャッシュの問題?)

私は関係を設定しました:'teamDrivers' => array(self::HAS_MANY, 'TeamDriver', 'team_id')私のチームモデルで

だから私が望むなら、私はできる:print_r($this->teamDrivers);私のチームで。デモンストレーション用です。

ここでの問題は、この種のコードがデータベースから既に削除された項目のリストを作成することです! それらのアイテムを介しCActiveDataProviderて到達していません。CDbCriteria

アプリからログアウトしてから再度ログインすると、すべてが機能しているようです。

では、これらの関係を処理するキャッシュがあるのでしょうか、それともこの謎は何なのでしょうか? そして、そのキャッシュをクリアするにはどうすればよいですか?

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

join - Yiiの関係の条件を変更する

私は少し問題に直面しています、そして私はあなたの助けが必要です。2つのテーブルを結合したいのですが、外部キーだけでなく、他の結合条件があります。条件パラメーターを設定しようとしましたが、クエリにWHEREが作成され、結合されたテーブルではなく、プライマリテーブルがフィルター処理されます。

これが条件になります->

0 投票する
0 に答える
140 参照

php - モデルに条件付き関係を持たせるにはどうすればよいですか?

アプリケーションには 2 種類のプロファイルがあり、それらは 2 つの異なるテーブルです。たとえば、個人プロファイルは「person」テーブルにあり、ID は「p」で始まります。ビジネス プロファイルは「business」テーブルにあり、ID は「b」で始まります。

投稿とプロフィールの間の関係を作成する「いいね」テーブルがあります。ただし、プロファイルは条件付きの関係です。profile_id が 'b' で始まる場合はビジネス モデルである必要があり、そうでない場合は 'Person' モデルである必要があります。

モデルのrelation()メソッドにif文を入れてみました。ただし、その段階ではプロパティが初期化されておらず、エラーが発生します。afterFind() と afterConstruct() を使用して、モデルのメタデータへの関係を追加しようとしました (CActiveRecordMetaData::addRelation() を使用)。afterFind または afterConstruct のいずれかでリレーションシップのタイプをエコーすると、それらはすべて本来あるべきものになります。しかし、何らかの理由で、いくつかの結果をループしてリレーションにアクセスしようとすると、それらはすべてビジネスとして識別されます。リレーションを追加した直後に CActiveRecord::refresh() を呼び出すと、100 個のネストされた関数呼び出しの制限に達したというエラーが表示されます。

この条件付き関係を実装するにはどうすればよいですか?

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

yii - Yii でモデルを自分自身と結合すると非オブジェクト エラーが発生する

これらのフィールドを持つモデルがあります:

このテーブルに階層構造を格納します。

somw の例のレコードは次のとおりです。

管理(管理)ページのグリッドビューで、IDの代わりに親の名前を表示したい。だから私はモデル(もの)でこの関係を定義します。

とビューで:

しかし、管理ページで「オブジェクト以外のプロパティを取得しようとしています」というエラーが表示されます。これは、parent_id が '0' で id=0 のレコードがないルート特許が原因のようです。

どうすればこの問題に対処できますか?

よろしくお願いします。

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

php - リレーションを構築して Cgridview で 4 つのテーブルの列を表示する方法

3 つ以上のテーブル間の関係を構築する必要があるという要件があります。Message、Flat、Person、Mapping テーブルの 4 つのテーブルがあります。現在、以下のテーブルには次のフィールドがあります。

メッセージ:

マッピング

平らな

ここで、Message の Cgridview(admin.php) で、フラット テーブルの PersonId と Person テーブルの Name と Phone を Message テーブルの列とともに表示するように関係を構築する必要があります。

メッセージのモデルクラス(message.php)でこのような関係を定義しました

person テーブルの列をメッセージ グリッドビューに表示するための手順を順を追って説明してもらえますか。