FeedModel::searchFeeds PHP Method

searchFeeds() public method

数据库搜索分享
public searchFeeds ( string $key, $feed_type, integer $limit, $Stime, $Etime ) : array
$key string 关键字
$limit integer 结果集数目
return array 搜索后的分享数据
    public function searchFeeds($key, $feed_type, $limit, $Stime, $Etime)
    {
        $map['a.is_del'] = 0;
        $map['a.is_audit'] = 1;
        $map['b.feed_content'] = array('LIKE', '%' . t($key) . '%');
        if ($feed_type) {
            $map['a.type'] = $feed_type;
            if ($map['a.type'] == 'post') {
                unset($map['a.type']);
                $map['a.is_repost'] = 0;
            }
        }
        if ($Stime && $Etime) {
            $map['a.publish_time'] = array('between', array($Stime, $Etime));
        }
        $table = "{$this->tablePrefix}feed AS a LEFT JOIN {$this->tablePrefix}feed_data AS b ON a.feed_id = b.feed_id";
        $feedlist = $this->table($table)->field('a.feed_id')->where($map)->order('a.publish_time DESC')->findPage($limit);
        //return D()->getLastSql();exit;
        $feed_ids = getSubByKey($feedlist['data'], 'feed_id');
        $feedlist['data'] = $this->getFeeds($feed_ids);
        foreach ($feedlist['data'] as &$v) {
            switch ($v['app']) {
                case 'weiba':
                    $v['from'] = getFromClient(0, $v['app'], '微吧');
                    break;
                default:
                    $v['from'] = getFromClient($v['from'], $v['app']);
                    break;
            }
            !isset($uids[$v['uid']]) && $v['uid'] != $GLOBALS['ts']['mid'] && ($uids[] = $v['uid']);
        }
        return $feedlist;
    }