我的代码是:
my $mortgageValue = $c->forward('/_asset/_real_estate/_mortgage/browse/vw_asset_real_estate_mortgage', ["data", "getRowHash", "*", "asset_real_estate_id='".$realEstateId."' AND active='1'", "", "1"]);
if (@{$mortgageValue}) { # is the line that shows the error
$amortizationPeriodDetails = $mortgageValue->{amortization_period}||"";
}
我认为查询返回null,因为条件没有值,但我该如何检查?
答案 0 :(得分:2)
理想情况下,forward方法会返回undef;有时返回0的方法,有时更难使用arrayref。但如果不这样做,你可以这样做:
if ( @{ $mortgageValue || [] } ) {
或
if ( $mortgageValue && @$mortgageValue ) {
答案 1 :(得分:0)
$mortgageValue
不是数组引用。所以你不能取消引用它。看起来$mortgageValue
是一个标量。