【问题标题】:Strange value set as a key in the array in cakephp2奇怪的值设置为cakephp2中数组中的键
【发布时间】:2017-06-22 08:20:53
【问题描述】:

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

 $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
            )

【问题讨论】:

  • 你能分享你的型号和控制器名称吗?
  • 控制器名称为MyDataManagerController,模型名称为MyData。

标签: php arrays cakephp-2.0


【解决方案1】:

如果您想获得 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 约定的更多信息:

https://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-30
    • 2013-09-02
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 2012-09-30
    相关资源
    最近更新 更多