2015-01-10 62 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