Magentoモデルコレクションから単一のエンティティを取得します

StackOverflow https://stackoverflow.com/questions/5379154

  •  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();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top