Yii - php 警告:从空值创建默认对象
Yii - php warning: creating default object from empty value
我是新手 PHP YII 框架不要太严格。
我有一些代码可以从 google 货币兑换率获得。
for ($i = 1; $i <= 3; $i++)
{
$model = WidgetCurrencyElement::model()->findByPk($i);
$buy = 100.25*$er[$i];
$buy = (int)$buy;
$buy /= 100;
$sale = $er[$i]/0.010025;
$sale = (int)$sale;
$sale /= 100;
$model->buy = $buy;
$model->sale = $sale;
if(!$model->save()){
print_r($model->getErrors());
die("not saved!");
}
}
$this->render('currency', array('er1' => $er[1], 'er2'=>$er[2], 'er3'=>$er[3]));
}
它告诉我
"PHP warning Creating default object from empty value"。我不明白为什么。
这种错误的原因是什么?
“$model”并非完全为空。
正如Arkoak所说,数据库中可能不存在一个或多个id。所以最好在找到对象后确定对象是否存在,然后尝试为其赋值:
for ($i = 1; $i <= 3; $i++)
{
$model = WidgetCurrencyElement::model()->findByPk($i);
if($model != null)
{
$buy = 100.25*$er[$i];
$buy = (int)$buy;
$buy /= 100;
$sale = $er[$i]/0.010025;
$sale = (int)$sale;
$sale /= 100;
$model->buy = $buy;
$model->sale = $sale;
if(!$model->save()){
print_r($model->getErrors());
die("not saved!");
}
}
}
我是新手 PHP YII 框架不要太严格。 我有一些代码可以从 google 货币兑换率获得。
for ($i = 1; $i <= 3; $i++)
{
$model = WidgetCurrencyElement::model()->findByPk($i);
$buy = 100.25*$er[$i];
$buy = (int)$buy;
$buy /= 100;
$sale = $er[$i]/0.010025;
$sale = (int)$sale;
$sale /= 100;
$model->buy = $buy;
$model->sale = $sale;
if(!$model->save()){
print_r($model->getErrors());
die("not saved!");
}
}
$this->render('currency', array('er1' => $er[1], 'er2'=>$er[2], 'er3'=>$er[3]));
}
它告诉我
"PHP warning Creating default object from empty value"。我不明白为什么。 这种错误的原因是什么? “$model”并非完全为空。
正如Arkoak所说,数据库中可能不存在一个或多个id。所以最好在找到对象后确定对象是否存在,然后尝试为其赋值:
for ($i = 1; $i <= 3; $i++)
{
$model = WidgetCurrencyElement::model()->findByPk($i);
if($model != null)
{
$buy = 100.25*$er[$i];
$buy = (int)$buy;
$buy /= 100;
$sale = $er[$i]/0.010025;
$sale = (int)$sale;
$sale /= 100;
$model->buy = $buy;
$model->sale = $sale;
if(!$model->save()){
print_r($model->getErrors());
die("not saved!");
}
}
}