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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。