コード例 #1
0
ファイル: DbTest.php プロジェクト: pradeep-wagento/magento2
 /**
  * Test that field is quoted when added to SQL via addFieldToFilter()
  */
 public function testAddFieldToFilterFieldIsQuoted()
 {
     $adapter = $this->getMock('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', ['quoteIdentifier', 'prepareSqlCondition'], [], '', false);
     $adapter->expects($this->once())->method('quoteIdentifier')->with('email')->will($this->returnValue('`email`'));
     $adapter->expects($this->any())->method('prepareSqlCondition')->with($this->stringContains('`email`'), $this->anything())->will($this->returnValue('`email` = "*****@*****.**"'));
     $this->collection->setConnection($adapter);
     $select = $this->collection->getSelect()->from('test');
     $this->collection->addFieldToFilter('email', ['eq' => '*****@*****.**']);
     $this->assertEquals('SELECT `test`.* FROM `test` WHERE (`email` = "*****@*****.**")', $select->assemble());
 }
コード例 #2
0
 /**
  * Apply regular filters like collection filters
  *
  * @param AbstractDb $collection
  * @param Filter $filter
  * @return void
  */
 public function apply(AbstractDb $collection, Filter $filter)
 {
     $collection->addFieldToFilter($filter->getField(), [$filter->getConditionType() => $filter->getValue()]);
 }
コード例 #3
0
ファイル: RegularFilter.php プロジェクト: nja78/magento2
 /**
  * Apply regular filters like collection filters
  *
  * @param AbstractDb $collection
  * @param array $filters
  * @return void
  */
 public function apply(AbstractDb $collection, $filters)
 {
     foreach ($filters as $filter) {
         $collection->addFieldToFilter($filter['field'], $filter['condition']);
     }
 }
コード例 #4
0
 /**
  * @param AbstractDb $collection
  * @return AbstractDb
  * @throws LocalizedException
  */
 protected function applySelection(AbstractDb $collection)
 {
     $selected = $this->request->getParam(static::SELECTED_PARAM);
     $excluded = $this->request->getParam(static::EXCLUDED_PARAM);
     if ('false' === $excluded) {
         return $collection;
     }
     try {
         if (is_array($excluded) && !empty($excluded)) {
             $collection->addFieldToFilter($collection->getIdFieldName(), ['nin' => $excluded]);
         } elseif (is_array($selected) && !empty($selected)) {
             $collection->addFieldToFilter($collection->getIdFieldName(), ['in' => $selected]);
         } else {
             throw new LocalizedException(__('Please select item(s).'));
         }
     } catch (\Exception $e) {
         throw new LocalizedException(__($e->getMessage()));
     }
     return $collection;
 }