2017-09-14 4 views
0

私はcodeigniterに2つのテーブルを更新するための関数を用意しています。これは、コードcodeigniterで複数のテーブルを更新する

if($loss_making_trade_amount > 5 && $loss_making_trade_amount < 20){ 

       $user_data = array(
        'trading_balance' => $trading_balance_float - 0.50 
        ); 

        $data = array(
        'trade_consequence' => '0.50', 
        'loss_in_amounts_cron_status' => 'seen' 
        ); 

       $where = "id='$rid'"; 
       $where_trading_balance = "email='$email'"; 

       $this->db->where($where); 
       $this->db->set($data); 
       $this->db->update('mailbox_ke_01', $data); 
       //update users table at this level 
       $this->db->where($where_trading_balance); 
       $this->db->set($user_data); 
       $this->db->update('users', $user_data); 
} 

私は2番目のテーブルを更新するときに私が行っているか$this最初のテーブルを指しているような方法でテーブルを更新することができるだろう?です。

答えて

0

クエリが実行されるとコードが正常に表示されます。クエリビルダはすべてのクエリが終了した場合に自身をリセットするため、またはDBエラーの場合には消滅するため、心配する必要はありません。

あなたがよく見る here

ドキュメントもはっきり更新機能が呼び出される場合は、クエリが実行されることを示唆している。取ることができます

$this->db->update()は、更新文字列を生成し、指定したデータに基づいてクエリを実行します。

詳細については、私は変化するであろうhere


ドキュメントを読んで唯一のものは、あなたのwhere句です:

代わりの

$where = "id='$rid'"; 
$this->db->where($where); 

あなたはどこの機能を使用する必要がありますクエリビルダの適切な設定

$this->db->where("id", $rid); 

$where_trading_balance

関連する問題