哪個是收集相關數據最有效的方法?我應該多次訪問數據庫還是循環訪問數組?
假設我們有多個項目與一個類別1:M相關聯。
每個項目都包含它所屬類別的ID值。我有我的所有項目的數組對象,我現在想要添加到該數組對象的類別名稱而不是它的ID。
因此,例如,而不是:
PROJECT_ID:1個 PROJECT_TITLE:第一個項目 project_desc:BLA BLA project_category_id:1
我希望它是:
PROJECT_ID:1個 PROJECT_TITLE :第一個項目 project_desc:bla bla project_category:第一類
實現這一點並不困難,我很好奇最有效的方法是實現它。
選項1
$projects = $this->projects_model->find_all();
$categories = $this->category_model->find_all();
foreach($projects as $project){
foreach($categories as $category){
if($project->category_id == $category->id){
$project->category = $category;
}
}
}
選項2
$projects = $this->projects_model->find_all();
foreach($projects as $project){
$project->category = $this->category_model->find_by('id', $project->category_id);
}
很可能還有很多其他的方法來實現我想要的結果和潛在的更有效的莊園,如果是那樣的話我很想學習。
爲什麼不使用SQL呢?我假設你有某種數據庫,所以你所需要的只是「select * from category where category_id ='$ category' –
抱歉,不應該在我的例子中使用我的預編譯數據庫幫助器方法,那些find_all方法本質上是'select *來自項目' – hoppipolla