2017-06-22 21 views
0

我遇到以下代码的问题。发送的查询是正常的,只是获取我需要的所有数据。但是,当我print_r $ data时,find('all')中的所有数据都不包含在[MYDATA]中,但也设置为未知['c']和['a']数组。有没有人遇到过这种奇怪的问题?一些例子或提示会很棒。我很想听到你的消息!奇怪的值设置为cakephp2中的数组中的键

$data = $this->MYDATA->find(
      'all', 
      array(
       'conditions' => 
        array(
         array('my_id' => $var['id']), 

        ), 
       'order' =>array('my_name'=>'DESC') 
     )); 

以下是使用'my_name'=>'DESC'条件时的$ data的结果。

[0] => Array 
    (
     [MYDATA] => Array 
      (
       [id] => 79 
       [my_birth_day] => 1990-06-20 
       [my_address] => 400 
       [my_age] => 26 
       [my_name] => Joy 
       [my_id] => 1 
       [created] => 2017-06-19 15:39:44 
      ) 

     [c] => Array 
      (
       [my_test] => math 
      ) 

     [a] => Array 
      (
       [my_date] => 2017-08-13 
      ) 

    ) 

不使用'my_name'=>'DESC'条件。这是正确的数组。我希望它有这样的值返回。

[0] => Array 
    (
     [mydata] => Array 
      (
       [id] => 79 
       [my_birth_day] => 1990-06-20 
       [my_address] => 400 
       [my_age] => 26 
       [my_name] => Joy 
       [my_id] => 1 
       [my_test] => math 
       [created] => 2017-06-19 15:39:44 
       [my_date] => 2017-08-13 
      ) 
+0

能否请您分享您的模型和控制器的名字吗? – Sehdev

+0

控制器名称是MyDataManagerController,型号名称是MyData。 – Tony

回答

0

如果你想获得Cakephp的大部分好处,那么必须遵循cakephp 2约定。正如您在评论中提到的那样,您的模型是MyData那么它必须是MyData而不是MyData从数据库中获取数据时。请将MYDATA更改为MyData

$data = $this->MyData->find(
           'all', 
           array(
            'conditions' =>array('my_id' => $var['id']), 
            'order' =>array('my_name'=>'DESC') 
            ) 
          ); 
pr($data); 

您可以了解更多有关CakePHP的从这里2个约定: