src/Biz/Course/Dao/Impl/CourseSetDaoImpl.php

(开头部分) 2KB

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

<?php

namespace Biz\Course\Dao\Impl;

use Biz\Course\Dao\CourseSetDao;
use Codeages\Biz\Framework\Dao\AdvancedDaoImpl;

class CourseSetDaoImpl extends AdvancedDaoImpl implements CourseSetDao
{
    protected $table = 'course_set_v8';

    public function findCourseSetsByParentIdAndLocked($parentId, $locked)
    {
        return $this->findByFields(array('parentId' => $parentId, 'locked' => $locked));
    }

    public function findByIds(array $ids)
    {
        return $this->findInField('id', $ids);
    }

    public function findLikeTitle($title)
    {
        if (empty($title)) {
            $title = '';
        }
        $title = '%'.$title.'%';
        $sql = "SELECT * FROM {$this->table} WHERE title LIKE ?";

        return $this->db()->fetchAll($sql, array($title));
    }

    public function searchCourseSetsByTeacherOrderByStickTime($conditions, $orderBy, $userId, $start, $limit)
    {
        $courseSetAlias = 'course_set_v8'; //course_set_v8
        foreach ($conditions as $key => $condition) {
            $conditions[$courseSetAlias.'_'.$key] = $condition;
            unset($conditions[$key]);
        }
        $builder = $this->createQueryBuilder($conditions)
            ->select("{$courseSetAlias}.*, max(course_member.stickyTime) as stickyTime, course_member.courseSetId")
            ->setFirstResult($start)
            ->setMaxResults($limit)
            ->innerJoin($courseSetAlias, 'course_member', 'course_member', "course_member.courseSetId={$courseSetAlias}.id")
            ->addOrderBy('stickyTime', 'DESC')
            ->groupBy('course_member.courseSetId')
            ->andWhere("{$courseSetAlias}.status = :{$courseSetAlias}_status")
            ->andWhere("{$courseSetAlias}.parentId = :{$courseSetAlias}_parentId")
            ->andWhere("{$courseSetAlias}.type NOT IN (:{$courseSetAlias}_excludeTypes)")
            ->andStaticWhere("course_member.role = 'teacher'")
            ->andStaticWhere("course_member.userId = {$userId}");

        foreach ($orderBy ?: array() as $order => $sort) {
            $builder->addOrderBy($order, $sort);
        }

        return $builder->execute()->fetchAll();
    }

    public function analysisCourseSetDataByTime($startTime, $endTime)

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

AI 解读 AI

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

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