問題タブ [csqldataprovider]

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

php - Yii での CSqlDataProvider の並べ替え

CSqlDataProvider を使用しているかなり複雑なクエリがあります。

クエリはうまく機能します。ただし、列はソートできません。

CSqlDataProvider を使用したYii CGridview の並べ替えに従うようにしましたが、それでもクリック可能な列ヘッダーではありません。

ここに私の列配列があります:

ヘルプ?):

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

yii - Csqldataprovider CGridView と CButtonColumn (Yii フレームワーク) を使用しても表示されない

Csqldataprovider を使用してグリッドビューを取得しましたが、CAtiveDataProvider のデフォルトの cButton 列とは異なり、カスタム コードを記述しました。

同様に、グリッドビューで $data["mid"] をレンダリングしていません

それでもブラウザはレンダリングします

PHP 通知 オブジェクト以外のプロパティを取得しようとしています ...yii\framework\base\CComponent.php(612) : eval() された code(1 )

何が欠けているのか誰か教えてください

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

php - リレーションを持つ Yii CSqlDataProvider

結合と条件を含む複雑なクエリがあり
、CSqlDataProvider でデータを取得していますが、
リレーショナル テーブル レコードも結合する必要があります。

たとえば、テーブル A ( products) とテーブル B ( product_modifications)
があるとします。製品とその変更を一覧表示する必要があります。

テーブルAからデータを取得し、テーブルA
の各レコードに対してテーブルBからいくつかのレコードを取得する必要があります.クエリはテーブルBから配列を取得する必要があります.

基本コード:

私の質問

テーブル B ( ) のレコードを結合するにはどうすればよいproduct_modificationsですか? そのCActiveDataProviderように:

しかし、私はこれを行う方法がわかりませんCSqlDataProvider

UPD : クエリを対応する CActiveDataProvider クエリに変換することで解決

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

php - CSqlDataProvider を使用した Yii ページネーションの結果

CSqlDataProvider でページネーションを使用しています。ページネーションの最初の 20 ページまたは最初のページの結果が正しく表示されます。Web ページにログ メッセージが表示されると、クエリが実際にすべてのページの上位 20 行を選択していて、それが問題です。私はそれを修正する方法がわかりません。

私のコントローラーにはコードがあります:

そして今、カウントに使用するクエリは正しいです (ログ メッセージ):

SQL のクエリ:

ページ 2 に使用するクエリは次のとおりです (ログ メッセージ)。

上記のクエリは、実際には最初の 20 行として結果を返します。どのページも同じ問題です。すべての結果が最初の 20 行と同じになります。したがって、ページ 3 は (ログ メッセージ) になります。

私が見ることができる唯一の問題は、ページ 2、3 などのデータを取得するために使用しているクエリです。毎回TOP 20行を選択しているため、すべてのページで同じデータが返されます。この動作の理由がわかりません。SQL SERVERDBCSqlDataProviderとして使用し、ページネーション中にデータ プロバイダーとして使用する場合、クエリは実際にどのように見えますか?

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

caching - Yii- CSqlDataprovider によるキャッシング

CSqlDataProvider を使用しているときに、SQL サーバー クエリからデータをキャッシュすることは可能ですか。もしそうなら、誰でもそれに関するドキュメントへのリンクを提供してください。または、個人的にやったことがある場合は、ガイドしてください。

私は検索を行いましたが、何も見つかりませんでした:(

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

sql - Yii: 動的クエリから列名を取得する

クエリを実行して、返された結果セットの列名を取得することは可能ですか? クエリは動的で、列の名前がわからないため、列名が必要です。

クエリを再度実行するときに、これらの列名を使用して並べ替えます。

以前の質問を参照して、なぜそれが必要なのかを理解してください。

ありがとう。

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

php - tbgridview yii から値を取得できません

Yii Bootstrap TbGridView を使用して、CSqlDataProvider から DataProvider を表示しています。ただし、値を画面に表示することはできません。何が起こったのかわかりません。これが私のコードです:

コントローラーページ:

プロスペクト ビュー ページ:

ローカル サーバーでテストを行います。エラーはありませんが、値は次を使用してループされます。

この列の値は表示されません。ただし、「コンサルタント」の列には、値を表示できます。別の問題は、ファイルを実サーバーにアップロードしたときにエラーが発生することです。

ここで、データは$data->ProspectDateを指し ます 誰かがそれを理解するのを手伝ってくれますか? 問題は何ですか?

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

php - CSqldataproviderを使用してCGridView列をソート可能にする方法は?

CSqldataprovider を使用して CGridView 列をソート可能にする方法 (列タイトルをクリックしたとき)。

コントローラ内

ビューで

エラーを出しています

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

php - Yii CSqlDataProvider() と MSSQL - 最後のページのバグ

私は Yii 1.1.16 を使用しておりCSqlDataProvider()、データを に表示していますCGridView。最後のページに移動すると、最後のページPageSizeのレコード数ではなく、最後のカウント レコードが取得されます。たとえば、12 レコードのグリッドがありPageSize、10 に設定すると、2 ページあることを意味します。したがって、1 ページ目では 1 ~ 10 のレコードを取得しますが、2 ページ (最後のページ) では 3 ~ 12 のレコードを取得します!

これは、各ページで取得する値です

ご覧のとおり、これはページで取得する必要がある値であり、表示されるデータは正しいはずですが、そうではありません。

これは Yii を 1.1.8 からアップグレードする前に動作していたので、意図的に Yii バージョンを書きました。

もう1つ、MSSQLデータを提供するために(Microsoft SQL)データベースを使用しています