我试图查看是否可以使用if / else从选择查询中设置pdo参数。
说我有一个查询,我想要一个日期值。
$values = [:date => $row['date']]
但是我想说:“如果日期> = 180天,则将180用作:date,否则,如果<= 180天,请使用天数表示:date”
所以我想检查180天的日期。如果结束,我想使用180,但是如果少于,我想要天数。
是否可以通过这种方式设置一个参数?
答案 0 :(得分:1)
$now = new DateTime('now');
$then = new DateTime($row['date']);
$diff = $now->diff($then);
$diff_days = min((int) $diff->format('%a'), 180) * (int) $diff->format('%R1');
$date = $now->add(DateInterval::createFromDateString("$diff_days days"));
$values = ['date' => $date->format('Y-m-d')];