コード例 #1
0
 protected function buildFrom() {
     $this->_selectBuilder->from->add(Gpf_Db_Table_ActiveViews::getName(), 'av');
     $this->_selectBuilder->from->addLeftJoin(Gpf_Db_Table_Views::getName(), 'v', 'av.'.Gpf_Db_Table_ActiveViews::ACTIVEVIEWID.' = v.'.Gpf_Db_Table_Views::ID);
     $this->_selectBuilder->where->add('av.'.Gpf_Db_Table_ActiveViews::ACCOUNTUSERID, '=', Gpf_Session::getAuthUser()->getUserData()->get(Gpf_Db_Table_Users::ID));
     
     $whereCond = new Gpf_SqlBuilder_CompoundWhereCondition();
     $whereCond->add('v.'.Gpf_Db_Table_Views::ACCOUNTUSERID, '!=', '', 'OR');
     $whereCond->add('av.'.Gpf_Db_Table_ActiveViews::ACTIVEVIEWID, '=', Gpf_View_ViewService::DEFAULT_VIEW_ID, 'OR');
     
     $this->_selectBuilder->where->addCondition($whereCond);
 }
コード例 #2
0
    /**
     * @return Gpf_SqlBuilder_SelectBuilder
     */
    protected function createSelectBuilder() {
        $filters = new Gpf_Rpc_FilterCollection($this->params);
        
        $selectBuilder = new Gpf_SqlBuilder_SelectBuilder();
        $selectBuilder->select->add('v.'.Gpf_Db_Table_Views::ID, self::ID);
        $selectBuilder->select->add('v.'.Gpf_Db_Table_Views::NAME, self::VALUE);
        $selectBuilder->from->add(Gpf_Db_Table_Views::getName(), 'v');

        $whereCond = new Gpf_SqlBuilder_CompoundWhereCondition();
        $whereCond->add('v.' . Gpf_Db_Table_Views::ACCOUNTUSERID, '=', Gpf_Session::getAuthUser()->getUserData()->get(Gpf_Db_Table_Users::ID));
        $whereCond->add('v.' . Gpf_Db_Table_Views::ACCOUNTUSERID, '=', '', 'OR');
        
        $selectBuilder->where->addCondition($whereCond);
        if ($filters->isFilter('viewtype')) {
            $selectBuilder->where->add('v.' . Gpf_Db_Table_Views::VIEWTYPE, '=', $filters->getFilterValue('viewtype'));
        }
        return $selectBuilder;
    }