For my project, I have a workspace (kind of a user) with many projects and I am wondering if there is a way to override the default Doctrine query for when I call $workspace->getProjects() to only fetch the active projects only (not the archived one). This way I won't have to filter my collection and it will reduce the size of the returned data from the database.
/**
 * Acme\DemoBundle\Entity\Workspace
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class Workspace {
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
    private $id;
    /**
     * @var ArrayCollection $projects
     * 
     * @ORM\OneToMany(targetEntity="Project", mappedBy="workspace")
     */
    private $projects;
    /**
     * Add projects
     *
     * @param Project $projects
     * @return Workspace
     */
     public function addProject( Project $projects ) {
         $this->projects[] = $projects;
         return $this;
     }
    /**
     * Remove projects
     *
     * @param Project $projects
     */
    public function removeProject( Project $projects ) {
        $this->projects->removeElement( $projects );
    }
    /**
     * Get projects
     *
     * @return Collection 
     */
    public function getProjects() {
        return $this->projects;
    }
 
     
     
     
    