_init(Topic::class, TopicResourceModel::class); } /** * Get SQL for get record count. * Extra GROUP BY strip added. * * @return Select */ public function getSelectCountSql() { $countSelect = parent::getSelectCountSql(); $countSelect->reset(Select::GROUP); return $countSelect; } /** * @param null $valueField * @param string $labelField * @param array $additional * * @return array */ protected function _toOptionArray($valueField = null, $labelField = 'name', $additional = []) { $valueField = 'topic_id'; return parent::_toOptionArray($valueField, $labelField, $additional); // TODO: Change the autogenerated stub } /** * @param mixed $topicIds * * @return $this */ public function addIdFilter($topicIds) { $condition = ''; if (is_array($topicIds)) { if (!empty($topicIds)) { $condition = ['in' => $topicIds]; } } elseif (is_numeric($topicIds)) { $condition = $topicIds; } elseif (is_string($topicIds)) { $ids = explode(',', $topicIds); if (empty($ids)) { $condition = $topicIds; } else { $condition = ['in' => $ids]; } } if ($condition) { $this->addFieldToFilter('topic_id', $condition); } return $this; } }