一个查询函数问题

#1 zhgzzy

下面这个函数,能不能优化一下???
public function article($sid,$lmt,$pyn,$bid){
   
    if($pyn){
       if($bid){
       $rs = $this->findAll(array('bid'=>$bid,'pyn'=>1),'id DESC','id,title,spic',$lmt);
       }
       else if($sid){
       $rs = $this->findAll(array('sid'=>$sid,'pyn'=>1),'id DESC','id,title,spic',$lmt);
       }
       else{
       $rs = $this->findAll(array('pyn'=>1),'id DESC','id,title,spic',$lmt);
       }
    }else{
       if($bid){
       $rs = $this->findAll(array('bid'=>$bid),'id DESC','id,title',$lmt);
       }
       else if($sid){
       $rs = $this->findAll(array('sid'=>$sid),'id DESC','id,title',$lmt);
       }
       else{
       $rs = $this->findAll(null,'id DESC','id,title',$lmt);
       }
    }
          return $rs;
   }

2012-05-19 12:36:58

#2 jake

业务逻辑不明,没有办法根据实际情况优化的。

有个更好的方法,用函数缓存吧 http://www.speedphp.com/spcache-php-cached-by-functions.html

2012-05-19 18:15:09