我在 Joomla 中的数据库调用存在问题,而我正在循环通过一个数组以提取所有记录,如果有一个匹配的值 LIKE 该数组值。
这是我的代码:
$time = JRequest::getVar('time');
if($time == 'Morning') {
$times = array('07', '08', '09', '10', '11');
}
if($time == 'Afternoon') {
$times = array('12', '13', '14', '15', '16');
}
if($time == 'Evening') {
$times = array('17', '18', '19', '20', '21');
}
if(isset($times)) {
$first = array_shift($times);
$query->where('a.startTime LIKE "%'. $first .'%"');
foreach($times as $tim => $val) {
$query->or('a.startTime LIKE "%'. $val .'%"');
}
}
$query->order('a.weekday,a.startTime ASC');
return $query;
如果时间等于“Morning”,我只希望它返回具有“Morning”数组中的值的记录。我的查询的“或”部分有问题。我不认为 '$query->or' 是一个有效的函数?我希望查询执行“WHERE a.startTime LIKE arrayvalue1 OR LIKE arrayvalue2....etc”,但我不确定如何使用 Joomla 数据库查询来执行此操作。谢谢