0

你好,

我有一个工作模型,我希望能够从中创建一个数组,但只有键名并且它们为空。

为了说明,我的模型Client来自clients表格,例如当我这样做时:

$this->Client->find( 'first' );

我得到以下数组(json编码):

{
    Client: {
        id: "39",
        name: "andrux",
        phone: "1234567890",
        email: "me@andrux.com",
        city_id: "2"
    },
    City: {
        id: "2",
        city_name: "andruxville"
    }
}

如您所见,我将此模型设置为与City模型有关系,因此我的方法得到了ClientCity数组find

现在我需要得到相同的数组但没有值,我只是找不到答案,我尝试了一些解决方案,但没有一个能按照我想要的方式工作,例如我尝试使用array_map函数和schema模型的方法但这只是给了我clients表的列名,如果我愿意,我可以将其设置为 null 但是City模​​型呢?

我想要的最终结果如下:

{
    Client: {
        id: "",
        name: "",
        phone: "",
        email: "",
        city_id: ""
    },
    City: {
        id: "",
        city_name: ""
    }
}

任何人都知道如何做到这一点?我宁愿找到一种方法,即 cakephp 方式——如果有的话——但是任何能让我达到我想要的结果的解决方案都将不胜感激。

多谢你们!

4

1 回答 1

0

好吧,如果没问题,您可以在模型中创建一个自定义函数并将结果传递给它,例如:

//can be added to your model
function reset_values($array, $replace_with) {
    foreach ($array as $key => $arr) {
    if(is_array($arr)) $res[$key] = reset_values($arr,$replace_with);
    else $res[$key] = $replace_with;
    }
    return $res;
}
$resetedArr = reset_values($arr, null); //replace values with null
echo "<pre>"; print_r($resetedArr);
于 2013-09-04T04:27:36.120 回答