从cakephp中的数组中获取数据

时间:2014-02-12 16:40:45

标签: php arrays cakephp

我正在尝试从Cakephp上的控制器php中获取数组中的数据。

我有这个功能:

public function updateUserStatus() {

  if(isset($this->params['url']["pcs"]))  {

    $uus = array( "pcs" =>$this->params['url']["pcs"] );
    $trans = $this->Transaction->updateUserStatus($uus);

  } else {
    $trans = "failed";
  }

  $this->set('trans', $trans);
  $this->layout = 'ajax';
}

我想从status_id获得有此回复的数据:

Array ( 
[0] => Array 
    ( 
    [status_id] => 2 
    ) 
[1] => Array 
    ( 
    [rem_time] => 66 
    ) 
)

我该怎么做? 我的问题是如何获取status_id的数据?

1 个答案:

答案 0 :(得分:0)

public function updateUserStatus() {
    if (isset($this->params['url']["pcs"]))  {
        $uus = array("pcs" =>$this->params['url']["pcs"]);
        $trans = $this->Transaction->updateUserStatus($uus);
    } else {
        $trans = "failed";
    }

    $currentStatus = 0;
    if (is_array($trans) && isset($trans['status_id'])) {
        $currentStatus = $trans['status_id'];
    }

    $this->set('trans', $trans);
    $this->layout = 'ajax';
}

public function updateUserStatus($uus){
    if(isset($uus["pcs"])) {
        $sql = "SELECT status_id  as status_id , rem_time as rem_time FROM phones WHERE pcs = '".$uus["pcs"]."' LIMIT 1";
        $query = $this->query($sql);
        return $query[0]['phones'];
    } else {
        return "failed";
    }
}

注意,我们将返回$query[0]['phones']

让我知道它是否有效。 代码也可以使用一些重构。

例如,如果函数只返回查询结果,为什么称为updateUserStatus?为了保持一致性,它也应该总是返回一个数组。