PHP の codeigniter に MVC 構造を設定しました。ただし、何らかの理由で、私のモデルの結果は、私に与えられたのが好きではありません。Invalid argument supplied for foreach()
. 私のモデルの大まかなコードは次のとおりです。
class some_model extends CI_Model
{
function __construct()
{
// Call the Model constructor
$this->load->database();
}
function some_func()
{
//Prepare return
$return = array();
//Do query
$query = $this->db->query('SELECT tbl.* from tbl');
//Get array of values
$result = $query->result_array();
foreach($result as $row)
{
$return[] = array(
'a' => $row['a'],
'b' => $row['b'],
'c' => $row['c']
);
}
return $return;
}
そしてコントローラー:
$this->load->model('some_model');
$stuff = $this->some_model->some_func();
foreach($stuff as $row)
{
//Do something
}
しかし、コントローラーの foreach ループで常にエラーが発生します。なぜこれが起こっているのか、誰かが考えを持っていますか? 私がチェックしたところ、PHP は$stuff
配列 ( is_array($stuff)
true を返す) として認識されるため、何が起こっているのかわかりません。モデルの foreach ループが問題ではないことはわかっています。エラーは発生せず、コントローラーのループのみが発生するためです。ヒントをいただければ幸いです。よろしくお願いします!