在CakePhp中从视图调用微积分函数? 摘要
我想从MySQL表中获取的在CakePhp中从视图调用微积分函数? 摘要,cakephp,datetime,Cakephp,Datetime,我想从MySQL表中获取的$start\u date和$end\u date执行演算。我应该把微积分函数放在哪里才能在视图中访问它 细节 我是CakePhp新手。我有一个控制器: class PostersController extends AppController { var $name = 'Posters'; function index (){ $request = $this->Poster->find('all'); $this-
$start\u date
和$end\u date
执行演算。我应该把微积分函数放在哪里才能在视图中访问它
细节 我是CakePhp新手。我有一个控制器:
class PostersController extends AppController {
var $name = 'Posters';
function index (){
$request = $this->Poster->find('all');
$this->set('posters', $request);
}
在我的表中,我有$start\u date
和$end\u date
字段。
我想有一个函数来执行持续时间的微积分,使用
这个功能
function PosterDuration ($start_date, $end_date){
$duration = $start_date->diff($end_date);
return $duration;
}
我想在我的视图中查看每张海报的$duration
。但是我不知道把这个函数逻辑放在哪里
Posters.ctp
视图访问它DuractionCalculusComponent
的组件由于我是CakePhp新手,我的知识不多,不知道该选择哪个选项。如果它仅用于视图层中的表示/输出,请将其作为帮助器,并对显示的每个记录称之为“随需应变”
echo $this->Calculus->diff($date1, $date2);
如果需要在控制器/模型级别进行某种处理,那么它可能更适合作为一种行为方法或一些afterFind()回调
这实际上取决于用例。所以这里没什么可谈的。当您了解控制器中的所有值时。只需计算差异,并使用set function或set compact将计算结果传递给视图
$this->set('duration', $duration);
如果你在多个地方使用这个,那么你可以去找助手。为此,您需要传递变量。Don’s数据库表单帮助文件。这不是一个好的做法