用这样的结构说。,列是:
名字 | 第二个名字 | 中间名 | 姓
现在,假设我有一个需要输入“名称”的表单......但没有指定它是什么类型的名称。
在控制器上,我必须检查该“名称”是否在数据库中。
我这样做:
public function actionCheckName($name){
$name = PersonName::model()->findByAttributes(array('first_name'=> $name));
//then check if the name exists in the first_name column
if(!empty($name)){
$name = PersonName::model()->findByAttributes(array('second_name'=> $name));
}
//if it's not in the first_name column...check in the second_name column
..
..and so on, i hope you get the idea
}
我基本上不知道用户输入的名称是什么类型...但是如果该条目存在,我必须在数据库中检查..是否是这些名称类型之一。
上面的代码有效。但看起来......有点......不太好......有没有更好的方法来做到这一点?非常感谢!