問題タブ [zend-db-table]
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 - Zend:2つのオブジェクト、1つの行
最近、Zend Framework(1.8.4)を使用して、ショッピングカートサイトの注文を表示するための管理ツールを提供し始めました。
私がやりたいのはZend_Db_Table_Row_Abstract
、単一のデータベース結果行から複数のモデル()オブジェクトを効率的に作成することです。
関係は単純です。注文には1人の顧客(外部キーorder_custid=customer.cust_id
)があります。顧客には多くの注文があります。
注文の読み込みは簡単です。ここに記載されている方法を使用します。
ZendFrameworkでの複数のテーブル関係を持つオブジェクトのモデリング
...その後、それぞれの顧客をつかむことができました。
しかし、注文の長いリスト(たとえば、40以上、1ページ)をロードする場合、これは非常に遅くなります。
次に、JOINを試しました。
これにより、注文オブジェクトの配列が得られます。 print_r($orders)
は、保護されたメンバーに、生のフィールド名order_*およびcust_*を持つ列リストがそれぞれに含まれていることを示しています。
しかし、これらの各Orderオブジェクトにあるcust_ *フィールドからCustomerオブジェクトを作成するにはどうすればよいですか?
結合された行からOrderオブジェクトとCustomerオブジェクトを同時に作成する良い方法はありますか?または、テーブルゲートウェイなしでクエリを実行し、生の結果セットを取得して、各フィールドを1つずつ新しく作成されたオブジェクトにコピーする必要がありますか?
mysql - Zend Framework と Mysql - 非常に遅い
PHP、mysql、および zend フレームワークを使用して Web サイトを作成しています。SQL クエリを実行しようとすると、ページ生成が約 0.5 秒に跳ね上がります。それは高すぎる。SQL をオンにすると、ページ生成は 0.001 です。実行するクエリの量は、ページの生成時間に実際には影響しません (1 ~ 10 個のクエリをテストしました)。0.5秒のままで、何が間違っているのかわかりません。
ブートストラップでSQLに接続します:
次に、単純なモデルがあります
最後に、インデックス コントローラー内で、find メソッドを実行します。
これには約 0.5 秒かかりますが、これは長すぎます。助言がありますか?
ありがとう!
php - Adodb アクティブ レコードと Zend db_table の比較
データベースの抽象化には Adodb と Active Record を使用しています。Zend Framework を使い始めましたが、Zend Framework が気に入っている理由の 1 つは、Zend の db_table 機能ではなく Adodb を引き続き使用できる「Use at Will」アーキテクチャによるものです。
私は Zend_DB_Table を紙で見ましたが、両方の経験がある人から本当に知りたいのですが、違いは何ですか? どちらが優れているか? db_table に切り替える価値はありますか?
よろしくお願いします。
zend-framework - 読み取り専用のZend行を削除します
行( )が「 ?」Zend_Db_Table_Row
に設定される原因は何ですか。readOnly
ループ内の行を削除するのに問題があります:
これが私の選択です:
$ ids配列にない行を削除したいのですが、行が読み取り専用であるというエラーがスローされます。私はそのフラグを設定したり、行に対して何もしていません。なぜ読み取り専用なのか、何か考えはありますか?
zend-framework - Zend Frameworkのテーブル、行セット、行の関係?
Zend_Form を使用して MySQL テーブルに行を挿入/更新する必要があるプロジェクトに取り組んでいます。Zend_Db を拡張して挿入/更新手順を簡素化しようとしていますが、これは Zend_Db_Table と Zend_Db_Table_Row を使用して行われているようです。
ただし、それらを最も効率的な方法でリンクする方法がわかりません。たとえば、 company という DB テーブルがあります。次に、拡張するCompaniesTableというモデルと、拡張するCompanyTableというZend_Db_Table
モデルがあります。 Zend_Db_Table_Row
行の会社テーブルをクエリしたり、個々の会社を挿入/更新/削除したりしたいと考えています。 DomainModel ( http://en.wikipedia.org/wiki/Domain_model )を参照しているサイトがいくつかありますが、できませんZend Framework でそれを行う方法の適切な説明を見つけてください。
誰か良いチュートリアルを知っていますか?
乾杯、
マット
php - Zend_Dbを使用する場合のpdo_mysqlとmysqli
Zend_Dbクラスを使用してバックエンドデータベースからクエリを抽象化する場合、使用するmysqlドライバー(pdo_mysqlとmysqli)に違いはありますか?pdo_mysqlについての私の理解は、抽象化を提供することでもあるので、Zend_Dbを使用している場合は、とにかくmysqliの一部として追加機能を利用しないと思います。ただし、パフォーマンスの観点から、一方が他方よりも高速ですか?
zend-framework - Zend Framework 関係 - findManyToManyRowset() で列名を定義しますか?
Zend Framework を使用して開発されたアプリケーションに取り組んでいます。私はモデルでリレーションシップを定義しており、それらを楽しく使用できます。
ただし、行セットが返される列名が「People」と「Jobs」で同じであるため、配列キーがマージされ、最終的な行セットからデータの一部が失われるという問題が発生しました。
Zend_Db_Select
オブジェクトをパラメーターの 1 つとして渡すことができることは理解findManyToManyRowset()
していますが、この場合の使用方法を説明するドキュメントが見つかりません。
上記のコードを使用しようとすると、次のようなメッセージが表示されます。
これをどのように行うべきかについて誰かが私に教えてもらえますか? データベース内の列名を変更できることはわかっていますが、DB 構造を再設計して関連するすべてのコードを更新するよりも、コードを変更したいと考えています。
注: 上記のように何らかの形式の列エイリアスを使用しないと、返される行セットは次のようになります (つまり、同じ名前の列がマージされます)。
乾杯、
マット