$condition 里面会有时间的条件,这个时间的条件是可选条件,现在就想如果时间条件不存在如何把时间条件给去除?而时间条件存在时,则加上时间条件查询结果?

方法一:数组不存在会报错。

public static function getHomeworkByStudentId($id, $conditions)

{

$conditions['startTime'] = '2018-09-01';

$conditions['endTime'] = '2018-09-02';

$result = self::where('id', '=', $id)

->whereTime('recordTime', '>', $conditions['startTime'])

->whereTime('recordTime', '

->select();

return $result;

}

方法二:如果时间条件不存在,生成sql的时间条件就会变成0就像下面这样:

SELECT * FROM `homework` WHERE `id` = '1' AND ( `recordTime` >= 0 AND `recordTime` <= 0 )

public static function getHomeworkByStudentId($id, $conditions)

{

$conditions['startTime'] = '2018-09-01';

$conditions['endTime'] = '2018-09-02';

$result = self::where('id', ':id')

->whereTime('recordTime', '>=', ':startTime')

->whereTime('recordTime', '<=', ':endTime')

->bind($conditions)

->select();

return $result;

}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐