問題タブ [cactivedataprovider]
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 - リレーションを持つ Yii CSqlDataProvider
結合と条件を含む複雑なクエリがあり
、CSqlDataProvider でデータを取得していますが、
リレーショナル テーブル レコードも結合する必要があります。
たとえば、テーブル A ( products
) とテーブル B ( product_modifications
)
があるとします。製品とその変更を一覧表示する必要があります。
テーブルAからデータを取得し、テーブルA
の各レコードに対してテーブルBからいくつかのレコードを取得する必要があります.クエリはテーブルBから配列を取得する必要があります.
基本コード:
私の質問
テーブル B ( ) のレコードを結合するにはどうすればよいproduct_modifications
ですか? そのCActiveDataProvider
ように:
しかし、私はこれを行う方法がわかりませんCSqlDataProvider
UPD : クエリを対応する CActiveDataProvider クエリに変換することで解決
yii - Modelname とその動作には、「getData」という名前のメソッドまたはクロージャーがありません。イイで
どこが間違っているのかわからないので、遊んでみましたが、何も達成しませんでした。
cListviewを使ってデータを表示したいのですが、できません モデルに関数があります
モデル
コントローラ
見る
psearchindex
_psearchindex
私が実行すると、次のようになります
エラー
Modelname とその動作には、「getData」という名前のメソッドまたはクロージャーがありません。
これは私の最初の試みですが、何が悪いのか理解できません
activerecord - CdbCriteria BELONG_TO
私はこの関係を持つモデル(Inmueble )を持っています:
この例では:
モデル Inmuebleの属性名に条件でアクセスします。
関係の属性にアクセスする CdbCriteria を実行するにはどうすればよいですか (たとえば、 where direccion.city = 'something' ?
ありがとう!
php - CActiveDataProvider を使用して 2 つのテーブルを結合する
CActiveDataProvider を使用して 2 つのテーブルを結合する際に問題が発生しました
テーブルは次のとおりです: question(id,description) 、 questionInFeedback(feedbackId,questionId)
と関係:
フィードバック=>
'questionInFeedbacks' => array(self::HAS_MANY,'QuestionInFeedback','feedbackId'),
質問=>
questionInFeedback=>
SQLを使用できる場合は、使用します
フィードバックに関連する質問をフィードバック ビューに表示するには、これらの質問 ID が必要です。
保護された/コントローラー/フィードバックコントローラー:
助けてくれてありがとう :)
EDIT:Yiiは私に次のエラーを与えています。
「foreach() に無効な引数が指定されました」、826 行目が強調表示されます。
php - yii CActiveDataProvider 複数テーブル結合
私は現在、雑誌サイトで作業していますが、Yii が CActiveDataProvider を使用してすべてのデータを返すようにするのに問題があります。SQL クエリは、SQL を介して実行すると正常に実行され、Yii で実行してもエラーは発生しません。ログを確認すると、Yii を介したときに SQL ステートメント全体が実行されています。
必要に応じて、記事モデルの関係を次に示します。
ここにprint_rの出力があります:
ご覧のとおり、クエリのすべてが返されますが、作成者は空白のままで、その理由がわかりません。記事モデルのリレーションを HAS_ONE に変更するまでは、画像オブジェクトが同じことをしていることに気付きました。各記事には関連付けられた画像が 1 つしかないため、これは問題ありません。その問題の原因となるような、書かれている方法に何か問題があると思う人はいますか? 事前にすべての回答に感謝します。
php - Yii CActiveDataProvider with() と結合
CGridView の関連オブジェクトごとに個別の行が必要です。
ModelB には modelAId があるため、HAS_MANY 関係です。
次のクエリは、取得しようとしているものを返します。
ここでは、対応する modelB 行ごとに個別の行を取得しています。modelA からのレコードが重複している可能性があります。
ただし、次のプロバイダーは期待されるレコードを返しません。CActiveDataProvider でこれを利用するにはどうすればよいですか
join "join" => "join modelB b on b.modelAId = t.id" を追加して with() を削除すると正しいレコードが返されますが、with() を含めると modelA レコードのみが返されます。
ModelB 関係の個別の行を含む ModelA からデータを取得する正しい方法は何ですか?