0

下面的 AnimalSpecies 是一个表,其中有一列名为 Values。我希望将此列的元素作为数组检索。很基础!以下如何返回一个空数组?我已经尝试了很多东西,当我直接使用 mysql 时

ValuesAnimalSpecies哪里选择1

我似乎得到了正确的东西。

模型:

//retrieve dropdown options
public function get_options($table) {

    $this->db->select('*');
    $this->db->from($table);
    //$this->db->where('Options');

    $query = $this->db->get();
    //print_r($query);

    if ( $query->num_rows() > 0 )
    {
        $data = $query->row_array();
        print_r($this->db->last_query());die();
        return $data;
    }
}

控制器:

public function upload_page()
{
        $this->load->model('data_model');
        $species = $this->data_model->get_options("AnimalSpecies");

}

我已经想出了如何将“选项”列值作为数组获取,尽管我必须删除部分 mysql 输出,所以它有点笨拙。如果没有 for 循环,我会得到每个列值的数字索引。

public function get_options($table) {

    $this->db->select('*');
    $this->db->from($table);

    $query = $this->db->get();

    if ( $query->num_rows() > 0 )
    {
        $data = $query->result_array();

        for ($i=0; $i < count($data); $i++)
        {
            $options_array[] = $data[$i]['Options'];
        }

        return $options_array;
    }
}
4

1 回答 1

0

应该这样做(根据您的最后评论判断):

public function get_options($table) {
    return $this->db->select('Options')
    ->get($table)
    ->row_array();
}

如果没有找到数据,它将返回 false,否则,您将获得一个数组。

如果您只需要选项值,则可以使用:

public function get_options($table) {
    return $this->db->select('Options')
    ->get($table)
    ->row()
    ->Options;
}

这将返回第一行中 Options 的值,但如果没有找到任何行,它可能会抛出错误。

于 2013-07-12T20:26:33.050 回答