我正在使用cakephp进行项目开发。我编写了一个函数来从数据库中获取数据并进行求和。我创建了一个名为user的表,其中包含高度和重量。我想检索那些数据,添加它们并返回它。这是我写的函数。
public function calculate()
{
$Height=$this->set('user',$this->User->find('first'));
$Weight=$this->set('user1',$this->User->find('first'));
$sum=($Height+$Weight);
$this->set('SUM',$sum);
}
在视图中,我编写了以下代码。
<div class="page-content">
<?php echo $user['User']['weight']; ?>
<?php echo $user1['User']['height']; ?>
<?php echo $SUM ?>
</div
显示高度和重量值。但总和值显示为零。请帮我解决这个问题。
答案 0 :(得分:0)
首先你需要从find中获取该字段。 (例如,您可以使用查找条件来过滤de user id。
$user = $this->User->find('first', array(
'conditions' => array('User.id' => $id),
'fields' => array('User.height', 'User.weight') // fields from your DB
));
因此,您可以执行pr($user)
查看数据并了解其用途。
完成总和并设置为视图。 Cakephp Set
答案 1 :(得分:0)
我找到了一种更好的方法来进行上述计算。我在控制器中使用了以下代码。
public function calculate($id=null)
{
if (!$this->User->exists($id)) {
throw new NotFoundException(__('Invalid user'));
}
$this->set('user1',$this->User->find('first', array('fields' => ('height'),'conditions' => array('User.id' =>$id))));
$this->set('user',$this->User->find('first', array('fields' => ('weight'),'conditions' => array('User.id' =>$id))));
}
我的观点与上面提到的类似。这对我很好......