ProductRepository::searchByName PHP Method

searchByName() public method

public searchByName ( $name ) : array | mixed | null
$name
return array | mixed | null
    public function searchByName($name)
    {
        $criteria = new CDbCriteria();
        $criteria->addSearchCondition('name', $name);
        $provider = new CActiveDataProvider(Product::model()->published(), ['criteria' => $criteria]);
        return new CDataProviderIterator($provider);
    }

Usage Example

 /**
  * @throws CHttpException
  */
 public function actionAjaxProductSearch()
 {
     if (!Yii::app()->getRequest()->getQuery('q')) {
         throw new CHttpException(404);
     }
     $data = [];
     $model = $this->productRepository->searchByName(Yii::app()->getRequest()->getQuery('q'));
     foreach ($model as $product) {
         $data[] = ['id' => $product->id, 'name' => $product->name . ($product->sku ? " ({$product->sku}) " : ' ') . $product->getPrice() . ' ' . Yii::t('StoreModule.store', Yii::app()->getModule('store')->currency), 'thumb' => $product->image ? $product->getImageUrl(50, 50) : ''];
     }
     Yii::app()->ajax->raw($data);
 }