带有each()结果错误的Laravel条件语句

问题描述 投票:0回答:1

当我遵循我的上一个问题$investment_type时,由于[从空值创建默认对象而产生的变量Laravel list() with each() function error with deprecated function

这是我在代码中所做的。

foreach( $investmentType as $key => $investment_type ) {

    $assetEntity->investment_type = $investment_type;

    $assetEntity->entity_name = $legalname[$key];
    $assetEntity->ownership = $ownership[$key];
    $assetEntity->ticnum = $tic[$key];

    if ( $entity_id[$key] == 0 ) {
        $assetEntity = new ClientEntityManagement;
        $assetEntity->property_id = $assetsData->property_id;
        $assetEntity->client_id = $id;                  
    } else {
        $assetEntity = ClientEntityManagement::find($investment_type);
    }

    $assetEntity->save();

}

这是原始代码。

$assetsData = ClientPropertyManagement::find($assets_id);
$investmentType = Input::get('investmenttype'.$assets_id);
$legalname = Input::get('legalname'.$assets_id);
$ownership = Input::get('ownership'.$assets_id);
$tic = Input::get('tic'.$assets_id);
$entity_id = Input::get('entity_id'.$assets_id);

foreach($investmentType as $investment_type) {

    list($key,$value) = each($legalname);
    list($key,$valueOwner) = each($ownership);
    list($key,$valueTic) = each($tic);
    list($key,$valueEntityId) = each($entity_id);

    if($valueEntityId == 0) {
      $assetEntity = new ClientEntityManagement;
      $assetEntity->property_id = $assetsData->property_id;
      $assetEntity->client_id = $id;
    } else {
      $assetEntity = ClientEntityManagement::find($valueEntityId);
    }

    $assetEntity->investment_type = $investment_type;
    $assetEntity->entity_name = $value;
    $assetEntity->ownership = $valueOwner;
    $assetEntity->ticnum = $valueTic;
    $assetEntity->save();

}

部分困惑(仍然),因为当我在我的Laravel list()的上一个问题中使用each()函数时,变量“ $ investment_type是“从空值创建默认对象”产生的结果...

php laravel-4
1个回答
0
投票

问题是$assetEntity尚未创建,您正在尝试将其用作对象。为了解决这个问题,您需要更改实例化对象的位置并创建变量$assetEntity

© www.soinside.com 2019 - 2024. All rights reserved.