問題タブ [doctrine-collection]
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 - 空のDoctrine_Collectionを返す方法は?
Doctrine_Collectionを返すメソッドがあります。whereIn()
句は次のとおりです。
ただし、$values
が空の配列の場合、このメソッドはAnomalyTableにあるすべての行を返します。Doctrineのドキュメントに記載されており、ここに書かれているように、これは予期しない動作ではありません:Doctrine where in with Doctrine_Query
ただし、が空の配列のDoctrine_Collection
場合、クエリの結果ではなく空を返したいと思います。$values
私がそれをどのように行うことができるかについてのアイデアはありますか?
ありがとう=)
編集:
トリックを行うように、不可能な句を追加し->where('1=0')
ますが、これはDBサーバーへの不要な要求です。誰かがより良いアイデアを持っていますか?
php - 2 つの Doctrine_Collection インスタンスの差分
特定のテストを完了したユーザーのコレクションと、そのテストへの招待を受けたユーザーのリストがあります。ここで、テストを完了していないすべてのユーザーを取得したいと思います。2 つのコレクション (配列など) を比較するのは簡単だと思いましたが、Doctrine_Collection::merge()
可能なのはそれだけです。
私のデータモデル(わかりやすくするために省略しています):
これで、次の 2 つのコレクションを利用できるようになりました。
すべてのユーザーを取得するための最良の方法は何ですか? SQL クエリを実行できますが、OOP php や DQL クエリでこれを実行するのは好きではありません。SQL では、次のようなことができます。
symfony1 - Doctrine_Record オブジェクトを再利用して、モデルの複数のインスタンスを保存します
Symfony アプリケーションである種の通知モジュールに取り組んでいます。プロファイルでフラグがアクティブになっているすべてDoctrine_Collection
のユーザーを作成するために、ユーザーの を繰り返し処理しています。Notification
問題は、最初の通知を保存すると、オブジェクトを再利用して新しいレコードをデータベースに保存できないことです。とを試してみ$notification->setId()
ましたが、新しいものを保存するのではなく、保存するとオブジェクトが更新されます。null
''
$notification
オブジェクトを再利用する方法はありますか? 通知フィールド作成のロジックが少し複雑なので、そうしたいと思います。
php - 一対多の関係のオブジェクトを関連付ける方法は?
Doctrine ORMでsymfony 1.4を使用しています。1 対多の関係で関連付けられた 2 つのクラスがあり、「片側」のオブジェクトがあります。このオブジェクト、たとえば A を「多面」オブジェクト、たとえば B に関連付ける必要があります。問題は、A には Doctrine_Collection プロパティにオブジェクトを 1 つだけ追加するメソッドがなく、代わりにDoctrine_Collection. どうすればこの関連付けを達成できますか?
私は次のようなものを持っています:
お願いします、どんな助けでも本当に感謝します!!! ありがとう!
編集:
うまく説明できていなかったのかもしれません。私の関係は適切に設定されています。オブジェクトを取得しようとしているわけではありません。代わりに、オブジェクトを設定しようとしています。問題は、メソッドがオブジェクト自体ではなく、パラメーターとして a をA::setB()
想定していることです。Doctrine_Collection
それをビルドする方法がわかりません。それがDoctrine_Collection
私がここで求めていることです...の関連オブジェクトの に追加$b
するだけです。Doctrine_Collection
$a
php - Doctrine_Collection __toString() タイプの機能
特定の列名に基づいて Doctrine_Collection を CSV に変換するための最良の方法について何かアイデアはありますか?
配列の例:
私はで終わりたいと思います:
今、私は次のようなものでこれを簡単に行うことができます:
しかし、Doctrine_Collection クラスによって提供される組み込みメソッドを使用した、より洗練されたソリューションがあるかどうかを確認したいと思います。
doctrine-1.2 - Doctrine_Collection を保存できません
Zend Framework で Docrine 1.2 を使用しており、Doctrine コレクションを保存しようとしています。
次のコードを使用して、テーブル クラスからコレクションを取得しています。
上記のイベント レコードを並べ替える次のクラスもあります。
上記の _saveCollection メソッドは次のとおりです。
上記の save メソッドのイベント ID は、単純にイベント ID の列挙型配列です。配列のキーを使用して、順序フィールドを使用してイベントの並べ替え順序を設定しています。コレクションの var_dump を配列 ($this->_collection->toArray()) に実行すると、正しいデータが得られます。ただし、コレクションを保存しようとすると、次のエラーが発生します。
"SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。'order = '0' WHERE eventtypeid = '3 '' 行 1 で"
Doctrine にこのエラーを拡張させる方法はありますか?完全な SQL ステートメントが最初になります。
よろしくお願いします
ギャリー
編集
一度に 1 つのレコードを処理するように上記のコードを変更しましたが、それでも同じ問題が発生します。
php - DoctrineCollection: toArray() と getData() の違い
基本的に、DoctrineRecord オブジェクトの DoctrineCollection があり、それを配列に変換したい場合は、次を使用できます。
$collection->toArray()
また$collection->getData()
しかし、この 2 つの方法の違いがわかりません。
php - コレクションの最後の要素を取得する
コレクションの最後の要素のプロパティを取得しようとしています。私は試した
と
どれも動作しません
(ブール値で使用しようとしていると教えてくれますgetProperty()
)。
理由はありますか?