Magentoモデルコレクションから単一のエンティティを取得します
-
28-10-2019 - |
質問
私は自分のプログラミングでこれを正しくやっていないと確信しているので、問題に遭遇しています。
Magentoでカスタムモデルを作成しました。
私のモデルのデータベーステーブルには、同じ属性を持ついくつかのエンティティがあります...
私が持っているのと同じ属性を持つこれらすべてのエンティティから1つだけを選択する必要があります。
今のところ私はこれをしました:
$myvariable = Mage::getModel('test/test')->getCollection()
->setOrder('idserialkeys', 'asc')
->addFilter('idproduit', 1)
->addFilter('utilise', 0)
->addFilter('customerid', 0)
->addFilter('numcommande', 0)
この読み込みからは約100の結果がありますが、これらの1つだけを更新する必要があるので、私がやった直後に次のように更新する必要があります。
->setPageSize(1);
問題は、私が必要だということです foreach
私のエンティティを更新する後
foreach($mavaribale as $modifiemoi) {
// Update of my entity because of course there is only one
}
ご覧のとおり、私は(各に対して)を実行する義務があります setPagesize
...コードを最適化するために、この愚かなループを避けたいと思います。
あなたの提案をありがとう、そして良い一日を過ごしてください、
アンセルメ
解決
コレクションがあり、1つの要素のみが必要な場合は、 getFirstItem
方法。これを試して:
$modifiemoi = $myvariable->getFirstItem();
あなたもあなたを使用していることを確認してください setPageSize
1つのアイテムのみを転送するように電話してください。
それが役立つことを願っています!
ありがとう、ジョー
他のヒント
すべてのコレクションはです Varien_Data_Collection
使用できるオブジェクト getFirstItem
:
$modifiemoi = $mavaribale->getFirstItem();
所属していません StackOverflow