質問

フィルタを追加するカスタムコレクションを持っています。たとえば、これがあります。

$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1);
.

$ GIGColletionに追加するのはどのようなフィルタを追加して、ASCの順序でフィールドですべてのレコードを返すことができますか?

役に立ちましたか?

解決

これを試すことができます

$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1);
$giftColletion->setOrder('position','ASC');
.

setOrderはソート

に使用されています

他のヒント

\Magento\Catalog\Model\ResourceModel\Product\Collectionによると、addAttributeToSort()メソッドを使用してコレクションをソートできます。

これは私のために働いています:

$collection = $this->_collection
    ->create()
    ->addAttributeToSelect(['sku', 'name', 'image'])
    ->addCategoryFilter($category)
    ->addAttributeToSort('name')
    ->setPageSize($limit);
return $collection;
.

マイ例の'name'の代わりにコレクションを並べ替える必要がある属性を使用してください。 順序方向を2番目のパラメータとして指定することもできます。デフォルトはASCです。

これを試してみてください、

$page = ($this->getRequest()->getParam('p')) ? $this->getRequest()->getParam('p') : 1;
$pageSize = 10;
$allMagazines = $this->MagazineFactory->create()->getCollection();
$allMagazines->addFieldToFilter('is_enable', 1);
$allMagazines->setOrder('sort_order','ASC');
$allMagazines->setPageSize($pageSize);
$allMagazines->setCurPage($page);
return $allMagazines;
.

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top