我不确定这个问题的标题是否一定是对我需要做的事情的准确描述,但我会继续问我的问题,看看大家的想法......
基本上,我从无法控制的源接收数据,我需要将其转换为合适的格式,以便使用 CakePHP 插入我的数据库。所以,这就是我的做法:
public function submitApp($data) {
$array = array(
'Student' => array(
'name' => $data['name'],
'email' => $data['email'],
'phone' => $data['phone'],
'address' => $data['address'],
'dob' => $data['dob'],
'gender' => $data['gender']
),
'Application' => array(
'course_id' => $data['course_id'],
'question1' => $data['question1'],
'question2' => $data['question2'],
'question3' => $data['question3'],
'question4' => $data['question4'],
),
'ApplicationQualification' => $data['Qualifications']
);
// Logic to save $array goes here
}
问题是有时并非 $data 中的所有键都将提交给我的应用程序,但我仍然希望我的应用程序能够使用它获得的内容。
我知道我可以将每个键包装在这样的条件中:
if (!isset($data['name'])) { $data['name'] = null; }
...然后构建数组,但这似乎是一种非常笨拙的方法。有没有更有效的方法来做到这一点?