問題タブ [tablegateway]
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 tableGateway を使用して、あるテーブルで INSERT を実行し、別のテーブルで UPDATE を実行する
注文と呼ばれるモジュールがあり、それが追加されると、別のモジュール (別のモジュールのテーブル) の値を更新する必要があり、注文にはそのテーブルに他のモジュールの id が含まれているとします。Zend の TableGateway でこれを行う予定ですが、他のテーブルを変更する方法がわかりません。
php - 同じコントローラ ファイルから 2 つの異なるテーブルにアクセスする
Zend Framework 2 マニュアルのアルバム テーブル チュートリアルを正常に完了しました。テーブルゲートウェイを使用して実装しました。彼が「album」という名前のテーブルを 1 つしか使用していないことがわかります。したがって、彼はその 1 つのテーブルに従って実装しました。
その「アルバム」テーブルからの各アーティストの情報を保持する「アーティスト」という別のテーブルがあるとしましょう。
今マニュアルでは、彼は単に使用します:
今、「アーティスト」テーブルで同様のことをしたいので、クエリは次のようになります。
では、何を変更または追加する必要がありますか?? 名前、生年月日、国などの列を含むアーティスト テーブルを mySql に既に作成しています。
PS: 結合などの atm を使用するつもりはありません。同じコントローラー(同じモジュール)の2番目のテーブルにアクセスしたいだけです。
解決策: Venca の助けを借りて、この問題を解決することができました。2 つのテーブルなどの工場設定を編集する方法は次のとおりです。
これで、コントローラーから両方のテーブルにアクセスできます。問題が解決しました。よく過ごした日。
php - Zend Framwork 2 - Tablegateway - DB の行の 1 列のみを更新する
users というテーブルがあります。次の列があります。
ID
名前
ユーザー名
Eメール
ユーザーは、ユーザー名列を除いて、このテーブルのデータを編集できません。問題は、ユーザーが自分のユーザー名を編集したい場合、ZF2 Tablegateway でのクエリは何になるかということです。
ZF2 マニュアルでも作成されているように、コントローラーには getUserTable() という関数があります。だから私は次のようなことをしています:
また、Model フォルダーにある UserTable.php クラスには、updateUser($id, $name) という関数があります。
現時点で私の関数は次のようになります。
したがって、基本的に実装したいのは次のとおりです。
ユーザーの更新セット 'username' = $username where 'id' = $user_id
zend-framework2 - Zend Framework 2 の tableGateway を使用して、FROM 句でサブクエリの結合を含むやや複雑なクエリを生成します。
Zend Framework 2 tableGateway を使用して次のクエリを生成しようとしています。
以下は私がこれまでに得たものです
サブクエリとの左結合を機能させるだけです。from メソッドと join メソッドのどの組み合わせを組み合わせる必要があるのか わかりません。私は今3時間苦労していますが、助けを求めています. どんな助けでも大歓迎です
@peterpeterson からの提案に基づいて、これは私が試した新しいクエリです
実行して実行すると、次のエラーが表示されます。
このオブジェクトは、コンストラクターでテーブルやスキーマを使用して作成されたため、読み取り専用です。
たぶん、私はまだクエリを正しく形成していません。テーブルゲートウェイを使用しています。tableGateway 経由でこの種のクエリを実行することはできないのでしょうか?
php - Zend 2 : 別のモデルで定義されたメソッドを現在のモデルで使用するには?
この問題をさまざまな方法で解決しようとしていますが、何も機能していないようです。私は2つのモデルを持っています:
そして私の現在のモデル:
モデルでは、モデルAttachmentTable
のメソッドを使用する必要があります。Zend Franework 2 でそれを行うにはどうすればよいですか?getAttachment
UsersMetaTable
私の 2 つのモデルは次のように定義されていModele.php
ます。
mysql - Zend Framework 2 tableGateway を使用した SQL クエリ
Zend Framework 2 は初めてで、現在、学校のプロジェクトのフォーラムをコーディングしています。Db Sql Select オブジェクトと tableGateway では管理できないクエリがあります。Db アダプターを使用したところ、正常に動作しますが、後でページネーターを使用する必要があるため、Db Sql Select オブジェクトを使用してクエリを渡す方法を探しています。
ここに私が持っているものがあります:
Zend\Db\Sql\Select でこのクエリを実行する方法についてのアイデアはありますか? ありがとうございました !
zend-framework2 - ZF2 - 式の変更による選択
2.2.7 のプロジェクトでは、次のようなコードがあります。
$select->where->expression('CXORDERNUMBER = "' . $orderNumber . '"', null);
これを 2.4.9 用に更新しようとすると、次のエラーが発生します。
*Zend\Db\Sql\Exception\RuntimeException
式の置換数がパラメーターの数と一致しません*
私はそれを次のように変更する必要がありましたが、これは私にもなじみがあります。
$select->where(array("CXORDERNUMBER" => $orderNumber));
コードにはこれらの式が多数あります。上記の方法で変更できない場合があります。ZFの新しいバージョンでなぜこれが起こるのか、誰かが私に説明できますか?
ありがとう!
アップデート:
式は次のように使用する必要があります: $select->where->expression('CXORDERNUMBER = ?', array($orderNumber));
2.4.9 には常にパラメータ セットがあり、2.2.7 のように null 値が無視されることはありません。