| | <?php |
| |
|
| | namespace Kanboard\Filter; |
| |
|
| | use Kanboard\Core\Filter\FilterInterface; |
| | use Kanboard\Model\CommentModel; |
| | use Kanboard\Model\TaskModel; |
| | use PicoDb\Database; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | class TaskCommentFilter extends BaseFilter implements FilterInterface |
| | { |
| | |
| | |
| | |
| | |
| | |
| | |
| | private $db; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getAttributes() |
| | { |
| | return array('comment'); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function setDatabase(Database $db) |
| | { |
| | $this->db = $db; |
| | return $this; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function apply() |
| | { |
| | $this->query->inSubquery(TaskModel::TABLE.'.id', $this->getSubQuery()); |
| |
|
| | return $this; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | protected function getSubQuery() |
| | { |
| | return $this->db |
| | ->table(CommentModel::TABLE) |
| | ->columns(CommentModel::TABLE.'.task_id') |
| | ->ilike(CommentModel::TABLE.'.comment', '%'.$this->value.'%'); |
| | } |
| | } |
| |
|