带有排序的虚拟字段中的cakephp计算
cakephp calculations in virtual field with sorting
我想创建一个虚拟字段 say status。它根据一些计算存储了 1-5 之间的数字(如下所示)。我该怎么做?我希望这个字段是可排序的。 Where/how 我是否要在模型中编写此代码以使该字段可排序?
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;
}
}
刚刚快速浏览了一下。
我建议做你所拥有的,然后用 CakePHP 对它进行排序 Set::sort。
参考这里...
http://book.cakephp.org/2.0/en/core-utility-libraries/set.html#Set::sort
感谢@mark 经过一些研究,我能够创建一个虚拟字段。这是我创建 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
我想创建一个虚拟字段 say status。它根据一些计算存储了 1-5 之间的数字(如下所示)。我该怎么做?我希望这个字段是可排序的。 Where/how 我是否要在模型中编写此代码以使该字段可排序?
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;
}
}
刚刚快速浏览了一下。
我建议做你所拥有的,然后用 CakePHP 对它进行排序 Set::sort。
参考这里... http://book.cakephp.org/2.0/en/core-utility-libraries/set.html#Set::sort
感谢@mark 经过一些研究,我能够创建一个虚拟字段。这是我创建 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