我正在使用yii框架开发Web应用程序,我有一个名为" studentinformation"并显示如下
id name mothername phone classid parentname email
1. xxxxx asdf 9658741230 2 pqrs xy@gmail.com
这是我的另一张表
classid classname
1. class1
2. class2
3. class3
我正在尝试将excel文件数据导入数据库,在我的excel文件中,我给了classname而不是classid,并从classname转换为classid并存储到数据库中,一切正常。 这是带有数据的excel文件列
id name mothername phone classid parentname email
1. xxxxx asdf 9658741230 class10 pqrs xy@gmail.com
我的要求: - 如果我在我的excel文件中给出了错误的classname,这意味着我的数据库中没有classname,那时它应该显示一个类似&#34的警告;你的类名是错的" 例如 在上面的excel表中我给了classid是" class10"但是我的数据库表中没有class10,它应该显示一些警告而不是这个错误"试图得到非对象的属性"我在这里尝试,但我没有得到你能帮助我...
$classdet = Classdetails::model()->findByAttributes(array('classname'=>'Class10','School_Id'=>1),'Status=1');
if($classdet->classname != 'Class10')
{
echo '<script language="javascript">';
echo 'alert("your classname is wrong")';
echo '</script>';
}
else{
print_r($classdet);
}
答案 0 :(得分:1)
如果该课程不存在,您无法访问该课程的属性。因此$classdet->classname
导致尝试获取非对象错误的属性。因此,您应该将代码更改为:
$classdet = Classdetails::model()->findByAttributes(array('classname'=>'Class10','School_Id'=>1),'Status=1');
if($classdet == null)
{
echo '<script language="javascript">';
echo 'alert("your classname is wrong")';
echo '</script>';
}
else{
print_r($classdet);
}