簡體   English   中英

Codeigniter:從兩個數據庫表的幫助程序傳遞數據庫

[英]Codeigniter: Passing databa from helper from two database tables

所以基本上我有一個助手-

function records()
{        
  $ci = get_instance();                     
  $ci->db->order_by("date", "desc");
  $ci->db->limit(20);
  $query = $ci->db->get('records');
  $data =array();
  foreach($query->result_array() as $orders)
  {
     $data[] = $orders;
  }            
  return $data;
}   

我需要從中傳遞數據進行查看,但是目前我僅傳遞表記錄中的數據。 另外,從記錄中獲取$ data []之后,我需要檢查當前記錄ID,然后從另一個表(用戶)中傳遞相同的$ data []所有用戶詳細信息。 我該怎么做? 因此,基本上我muts首先從記錄中獲取所有數據,從記錄中檢查哪個用戶,然后使用get_where('users',array('id'=> $ data ['user_id']));搜索該用戶。 並將用戶數據添加到新數組或相同的$ data []數組中。 這可行嗎? 如果是,請給我看看它的例子。

我想你想加入嗎?

  $ci->db->order_by("date", "desc");
  $ci->db->limit(20);
  $query = $ci->db->from('records')->join('users', 'records.user_id=users.id')->get();

http://codeigniter.com/user_guide/database/active_record.html

確保修改查詢以使用引用用戶ID的記錄表中​​的正確字段名稱。 上面的注釋是正確的-助手絕對不是查詢的地方。 確實,我想不出使用get_instance來獲取幫助器中CI對象的任何好例子,它們可能應該是CI獨立的函數。

首先; 始終建議您使用模型進行數據庫操作。 為了從模型中檢索數據庫信息,還建議您使用庫。 可以將助手用於您並非總是需要數據庫的目的,例如日期計算,搜索功能等。

其次; 如果我理解正確,那么您是將表中的記錄放入數組中,然后要檢查用戶在該數組中是否有記錄(或類似的記錄),該用戶的詳細信息來自另一個數據庫? 如果是,那么只需將所有記錄放入一個數組,將用戶詳細信息(例如用戶ID)放入另一個數組或變量即可。 剩下的就是所有數組操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM