-1

今日、コードイグナイターで突然更新機能が機能していないことがわかりました。foreach ループを 2 回呼び出すことでこの問題を解決しました。これが私のコードです。

function _update($options = array(),$set = array()) {
    ......
    foreach ($this->db->field_data($options['table']) as $field) {
        //never get inside this foreach loop, but if I removed this foreach loop it will not get inside the next foreach loop.
    }
    foreach ($this->db->field_data($options['table']) as $field) {
    if(isset($options[$field->name])) $this->db->where($field->name, $options[$field->name]);
    if(isset($set[$field->name])) $this->db->set($field->name, $set[$field->name]); 
    }
    ......
}

この問題の原因は codeigniter または PHP ですか?

4

1 に答える 1

0

問題は、$ this-> db-> some_functionが値を返し、2番目のifステートメントの実行を停止することです。つまり、最初のループは$ this-> db-> whereの反復ごとに停止し、2番目のループはsetメソッドに到達します。 。問題についての情報が少なすぎるため、さらに支援することはできません。詳細を教えてください。

于 2013-02-03T09:38:01.657 に答える