Magento2 Collectionの句
-
29-09-2020 - |
質問
フィルタを追加するカスタムコレクションを持っています。たとえば、これがあります。
$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;
. 所属していません magento.stackexchange