2017-01-25 3 views
0

デコードされたJSONオブジェクトをループして各ループでINSERTを実行するforeachループがありますが、同じループ内で何かを返すSELECTステートメントを取得できません。ここでCodeigniterのforeachループで何も返さない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); 

は間違って私の構造ですか?私はそのselect( 'Type')をURLからの直接コントローラ - >メソッド呼び出しを使用して実行し、静的変数を渡すと、row_arrayを取得します。しかし、このループの中には何も返されません。 INSERTは正常に動作します。

+0

を使用してみてください。 row_array()のinsted。 –

+0

私はばかだ、私は実際にこの投稿を投稿してから30秒後でさえ私のエラーを発見した。私は自分の$ id変数を再割り当てしていてはならないので、別の値を渡してSELECTを探して正当な理由で何も返しませんでした... –

+0

私たちのエラーを解決することは良い経験です。コーディングを続ける。 –

答えて

2

は)あなたが(この$アカウント= $ query-> result_arrayを試してみました

$account = $query->row(); 
関連する問題