当我遵循我的上一个问题$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是“从空值创建默认对象”产生的结果...
问题是$assetEntity
尚未创建,您正在尝试将其用作对象。为了解决这个问题,您需要更改实例化对象的位置并创建变量$assetEntity
: