2015-01-10 106 views
0

我想創建一個虛擬字段說狀態。根據一些計算結果存儲1-5的數字(如下所示)。我該怎麼做?我希望這個領域是可排序的。我在模型中的何處/如何編寫此代碼以便該字段可排序?cakephp虛擬字段中的排序與排序

if(empty($booksUser['BooksUser']['returned_on_date'])){ 
    if(date('Y-m-d') > $booksUser['BooksUser']['return_by_date']){ 
     $booksUser['BooksUser']['status'] = 1; 
    } else { 
     $booksUser['BooksUser']['status'] = 2; 
    } 
} else { 
    if($booksUser['BooksUser']['returned_on_date'] > $booksUser['BooksUser']['return_by_date']) { 
     $booksUser['BooksUser']['status'] = 3; 
    } else { 
     $booksUser['BooksUser']['status'] = 4; 
    } 
} 
+2

字面上是什麼?我不知道你在問什麼 –

+0

這是否有意義 – aWebDeveloper

+0

你知道排序通常發生在數據庫級別嗎? – ndm

回答

0

由於一些研究,我能創造一個虛擬域之後@馬克。這裏是我的查詢,我從中創建status作爲虛擬字段

select 
    IF(isnull(returned_on_date), 
      IF(CURDATE() < return_by_date, 1, 2), 
      IF(returned_on_date > return_by_date, 3, 4) 
    ) as status 
from books_users