src/Biz/Search/Adapter/TeacherSearchAdapter.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace Biz\Search\Adapter;

use AppBundle\Common\ArrayToolkit;

class TeacherSearchAdapter extends AbstractSearchAdapter
{
    public function adapt(array $teachers)
    {
        $adaptResult = array();
        $myFollowings = array();
        $user = $this->getCurrentUser();

        $userIds = ArrayToolkit::column($teachers, 'userId');
        $userProfiles = ArrayToolkit::index($this->getUserService()->findUserProfilesByIds($userIds), 'id');
        $users = ArrayToolkit::index($this->getUserService()->findUsersByIds($userIds), 'id');

        if (!empty($user['id'])) {
            $myFollowings = $this->getUserService()->filterFollowingIds($user['id'], $userIds);
        }

        foreach ($teachers as $index => $teacher) {
            if (array_key_exists($teacher['userId'], $users)) {
                $teacher['profile'] = array_key_exists($teacher['userId'], $userProfiles) ? $userProfiles[$teacher['userId']] : array();
                $teacher['largeAvatar'] = $users[$teacher['userId']]['largeAvatar'];
                $teacher['isFollowed'] = in_array($teacher['userId'], $myFollowings);
            } else {
                $teacher['profile'] = array();
                $teacher['largeAvatar'] = '';
            }
            $teacher['id'] = $teacher['userId'];
            array_push($adaptResult, $teacher);
        }

        return $adaptResult;
    }

    protected function getUserService()
    {
        return $this->createService('User:UserService');
    }
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。