2013-04-23 49 views
0

我正在CodeIgniter/DataMapper中編寫開發票應用程序。CodeIgniter DataMapper相關項目的順序

每個客戶都有很多發票。

在視圖中,我希望能夠顯示客戶數據,然後顯示該客戶的發票表。

目前,我將客戶及其相關發票裝入控制器併發送給視圖。

public function view($id) { 
    $c = new Customer($id); 
    $c->invoice->get_iterated(); 
    $data['customer'] = $c; 
} 

但是,當我遍歷發票在視圖中顯示出來,我真的希望他們能夠按日期降序排列,但他們當然不是。

是否有任何方式指定相關項目的順序或在顯示它們之前對它們進行排序,還是需要單獨加載發票,如下面的控制器中所示?

public function view($id) { 
    $c = new Customer($id); 
    $i = new Invoice(); 
    $i->order_by('invoice_date', 'desc'); 
    $i->get_where(array('customer_id' => $id)); 
    $data['customer'] = $c; 
    $data['invoices'] = $i; 
} 

回答

1

你可以簡單地發出get_iterated()前添加一個->order_by()電話。所以在你的例子中它看起來像這樣:

$c->invoice->order_by('invoice_date', 'desc')->get_iterated(); 
+0

完美,謝謝! – jx12345 2013-04-23 11:04:48