src/Biz/Classroom/Dao/Impl/ClassroomDaoImpl.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Biz\Classroom\Dao\Impl;
use Biz\Classroom\Dao\ClassroomDao;
use Codeages\Biz\Framework\Dao\AdvancedDaoImpl;
use AppBundle\Common\TimeMachine;
class ClassroomDaoImpl extends AdvancedDaoImpl implements ClassroomDao
{
protected $table = 'classroom';
public function getByTitle($title)
{
$sql = "SELECT * FROM {$this->table} where title=? LIMIT 1";
return $this->db()->fetchAssoc($sql, array($title));
}
public function search($conditions, $orderBy, $start, $limit, $columns = array())
{
if (array_key_exists('studentNum', $orderBy) && array_key_exists('lastDays', $conditions) && $conditions['lastDays'] > 0) {
$timeRange = TimeMachine::getTimeRangeByDays($conditions['lastDays']);
return $this->searchByStudentNumAndTimeRange($conditions, $timeRange, $orderBy['studentNum'], $start, $limit);
}
if (array_key_exists('rating', $orderBy) && array_key_exists('lastDays', $conditions) && $conditions['lastDays'] > 0) {
$timeRange = TimeMachine::getTimeRangeByDays($conditions['lastDays']);
return $this->searchByRatingAndTimeRange($conditions, $timeRange, $orderBy['rating'], $start, $limit);
}
return parent::search($conditions, $orderBy, $start, $limit, $columns = array());
}
/**
* 根据一段时间内的加入人数排序
*
SELECT classroom_member.studentNumCount, classroom.*
FROM (classroom classroom)
LEFT JOIN (
SELECT COUNT(id) AS studentNumCount, classroomId
FROM `classroom_member`
WHERE `role` LIKE '%|student|%'
AND createdTime >= 1533312000
AND createdTime <= 1542211200
GROUP BY classroomId
) classroom_member
ON classroom.id = classroom_member.classroomId
WHERE classroom.status = :status
AND classroom.showable = :showable
ORDER BY classroom_member.studentNumCount DESC
LIMIT 0, 15
*/
protected function searchByStudentNumAndTimeRange($conditions, $timeRange, $orderBy = 'DESC', $start, $limit)
{
$classroomMemberTable = $this->getClassroomMemberDao()->table();
$builder = $this->createQueryBuilder($conditions)
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。