Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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
Php 如何合并两个条令记录而不使空值覆盖现有值?_Php_Merge_Doctrine - Fatal编程技术网

Php 如何合并两个条令记录而不使空值覆盖现有值?

Php 如何合并两个条令记录而不使空值覆盖现有值?,php,merge,doctrine,Php,Merge,Doctrine,我有一个默认值数组,我想与一个条令记录合并。我尝试使用Doctrine的合并方法,但它会用合并数组覆盖现有值,即使合并数组包含空值。我希望以一种只有空值或空值被现有默认值替换的方式进行合并。尝试以下操作: $yourRecord = new YourRecordModel(); $yourRecord->assignIdentifier(123); // ID of the record to update foreach ($yourArray as $key=&

我有一个默认值数组,我想与一个条令记录合并。我尝试使用Doctrine的合并方法,但它会用合并数组覆盖现有值,即使合并数组包含空值。我希望以一种只有空值或空值被现有默认值替换的方式进行合并。

尝试以下操作:

    $yourRecord = new YourRecordModel();
    $yourRecord->assignIdentifier(123); // ID of the record to update
    foreach ($yourArray as $key=>$value)
    {
        if (!empty($value))
        {
            $yourRecord[$key] = $value;
        }
    }
    $yourRecord->save();
试试这个:

    $yourRecord = new YourRecordModel();
    $yourRecord->assignIdentifier(123); // ID of the record to update
    foreach ($yourArray as $key=>$value)
    {
        if (!empty($value))
        {
            $yourRecord[$key] = $value;
        }
    }
    $yourRecord->save();

如果不创建新记录,可以尝试使用以下命令设置给定键(属性)的默认值:$yourRecord->getTable()->getDefaultValueOf($key);如果不创建新记录,可以尝试使用以下命令设置给定键(属性)的默认值:$yourRecord->getTable()->getDefaultValueOf($key);