Codeigniter 3 对CodeIgniter 3的查询没有返回第一个循环的结果

Codeigniter 3 对CodeIgniter 3的查询没有返回第一个循环的结果,codeigniter-3,Codeigniter 3,我在CodeIgniter 3的模型中有这个代码 public function get_country($countries) { $collection = []; foreach ($countries as $key => $country) { $newcountry = self::get_country_id($country); } } public function get_country_id($country) {

我在CodeIgniter 3的模型中有这个代码

public function get_country($countries)
{
    $collection = [];

    foreach ($countries as $key => $country) {
        $newcountry = self::get_country_id($country);
    }
}

public function get_country_id($country)
{
    $this->db->select('id, name');
    $this->db->from('countries');
    $this->db->where('name', $country);
    
    return $this->db->get()->result_array();
}
$countries
的值为

Array
(
    [0] => Philippines
    [1] => Australia
)
现在在第一个循环中,调用
get\u country\u id('philippine')
method, 它不获取菲律宾ID和名称

在第二个循环中,调用
get\u country\u id('Australia')
方法, 它获取澳大利亚ID和名称

菲律宾没有被带走的原因是什么, 即使表格
国家
中有菲律宾的记录

但是当我调用
get\u country()
方法时

$ph=self::获取国家id(“菲律宾”)


它将获取菲律宾数据。

您是否检查了您的数据是否不包含任何打字错误(例如:菲律宾而非菲律宾)?在get_country函数中,您创建了一个数组($collection),但没有在任何地方使用,在循环中,您将get_country\u id函数的响应传递给$newcountry变量,但也没有在任何地方使用。为什么?