Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从cakephp中的模型创建空白数组_Php_Cakephp - Fatal编程技术网

从cakephp中的模型创建空白数组

从cakephp中的模型创建空白数组,php,cakephp,Php,Cakephp,嗨 我有一个工作模型,我希望能够从中创建一个数组,但是只使用键名,并且只让它们为空 举例来说,我的模型客户机来自客户机表,例如,当我这样做时: $this->Client->find('first') 我得到以下数组(json编码): 如您所见,我将此模型设置为与城市模型有关系,因此我使用查找方法获得了客户机和城市数组 现在我需要得到相同的数组,但没有值,我就是找不到答案,我尝试了一些解决方案,但没有一个能按我想要的方式工作,例如,我尝试使用模型的

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

举例来说,我的模型
客户机
来自
客户机
表,例如,当我这样做时:

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

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

如您所见,我将此模型设置为与城市
模型有关系,因此我使用查找方法获得了客户机和城市数组

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

我想要的最终结果如下:

{
    Client: {
        id: "",
        name: "",
        phone: "",
        email: "",
        city_id: ""
    },
    City: {
        id: "",
        city_name: ""
    }
}
有人知道如何做到这一点吗?我宁愿用cakephp的方法来做这件事——如果有的话——但是任何能让我达到我想要的结果的解决方案都会非常感激


谢谢大家

如果可以,您可以在模型中创建自定义函数并将结果传递给它,如:

//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);
//可以添加到您的模型中
函数重置_值($array,$replace_为){
foreach($key=>$arr的数组){
如果(is_数组($arr))$res[$key]=重置_值($arr,$replace_);
else$res[$key]=$replace_为;
}
返回$res;
}
$resetedArr=reset_值($arr,null)//将值替换为null
回声“;打印($resetedArr);

谢谢,Sudhir,这很有效,我只想等待一个更简单的方法,如果我在接下来的几天内找不到,我会接受你的回答,我只是不希望在我的模型或控制器中需要额外的功能
//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);