我正在努力解决一个相对简单的问题,但无法解决这个问题。
我有一个返回数字数组的方法getNextRound()
。数字代表db表中的星期数。
然后我有了第二个方法getUpcomingGames()
,在这里我调用第一个方法,然后我想使用第一个方法中的数字在查询中使用。
这里是一个示例:方法1
public function getNextRound(){
$sql = "SELECT min(weekNum) from schedule WHERE schedule.gameDateTime > NOW() GROUP BY tournament ORDER BY gameDateTime ASC";
$stmnt = $this->db->query($sql);
if ($stmnt->num_rows() > 0) {
print_r($stmnt->result());
return $stmnt->result();
}
return false;
}
以上方法/查询的结果
array (size=3)
0 =>
object(stdClass)[24]
public 'min(weekNum)' => string '38' (length=2)
1 =>
object(stdClass)[25]
public 'min(weekNum)' => string '14' (length=2)
2 =>
object(stdClass)[26]
public 'min(weekNum)' => string '7' (length=1)
我现在想使用数组中的数据来获取时间表表中与周数相关的所有信息。
我的问题在这里
方法2
public function getUpcomingGames()
{
//HERE I WANT TO GET ALL INFO FROM SCHEDULE WHERE ROUND = $week
$rounds[] = $this->getNextRound();
foreach ($rounds as $round) {
$sql = "SELECT * from schedule WHERE weekNum = '$round' ORDER BY gameDateTime ASC ";
$data[] = $this->db->query($sql);
var_dump($data);
}
错误:除其他外,我得到一个数组到字符串的转换错误。
我浏览了codeigniter文档,但找不到我想要的方法。
问题:
CI中是否有查询方法,我可以在其中将数组插入查询并在数组()上循环,如果有道理?
我如何改善/修复上述查询?
我想您需要这样的查询: