选择语句,在 Codeigniter 的 foreach 循环中不返回任何内容



我有一个foreach循环来循环解码的JSON对象并在每个循环上运行INSERT,但是我无法获得SELECT语句来返回同一循环中的任何内容。

这是我的模型:

foreach (json_decode($detail, TRUE) as $key => $value)
    {
        $this->db->select('Type');
        $this->db->where(array('AssociationId' => $id, 'BeginDate' => $year, 'Account' => $value['account']));
        $query = $this->db->get('GLAccounts');
        $account = $query->row_array(); // <- nothing being returned here. Only one row should be returned
        if($account['Type'] == 'Asset' || $account['Type'] == 'Expense') // <- so this is being ignored
        {
            $value['debit'] = 1 * $value['debit'];
            $value['credit'] = -1 * $value['credit'];
        }
        else if($account['Type'] == 'Liablity' || $account['Type'] == 'Capital' || $account['Type'] == 'Income') // <- as is this
        {
            $value['debit'] = -1 * $value['debit'];
            $value['credit'] = 1 * $value['credit'];
        }
        $values = array(
            'id' => NULL,
            'JournalId' => $id,
            'Date' => $this->input->post('date'),
            'Account' => $value['account'],
            'Description' => $value['description'],
            'Debit' => $value['debit'],
            'Credit' => $value['credit']
        );
        $this->db->insert('GLJournalDetails', $values);

我的结构有问题吗?如果我运行完全相同的代码,该代码使用来自 url 的直接控制器>方法调用执行 select('Type') 并传入静态变量,我会得到一个row_array。但它不会在此循环中返回任何内容。插入工作正常。

尝试使用

$account = $query->row();

最新更新