2013-10-13 27 views
0

我有一个报价habtm申请人的关系。我正试图获得一份报价,以便一次保存多个申请人。我已经有了我需要的应用程序数组,但我不知道如何格式化该数组,以便在将它插入到引用数组中时保存它。 申请人阵列看起来像这样:cakephp手动建立阵列

array(
(int) 0 => array(
    'Applicant' => array(
     'id' => '436', 
     'clientcase_id' => '66', 
     'archive_id' => '1', 
     'birthdate' => '2013-09-21 01:41:00', 
     'title' => '', 
     'first_name' => 'george', 
     'middle_name' => 'a', 
     'surname' => 'summerlane', 
     'email' => '[email protected]', 
     'landline_number' => '88465120.', 
     'mobile_number' => '', 
     'applicant_type' => '', 
     'created' => '2013-09-21 01:43:10', 
     'modified' => '2013-09-21 01:43:10' 
    ) 
), 
(int) 1 => array(
    'Applicant' => array(
     'id' => '435', 
     'clientcase_id' => '66', 
     'archive_id' => '1', 
     'birthdate' => '2013-09-21 01:41:00', 
     'title' => '', 
     'first_name' => 'mary', 
     'middle_name' => 's', 
     'surname' => 'amnn', 
     'email' => '[email protected]', 
     'landline_number' => '465132', 
     'mobile_number' => '', 
     'applicant_type' => '', 
     'created' => '2013-09-21 01:41:48', 
     'modified' => '2013-09-21 01:41:48' 
    ) 
), 
(int) 2 => array(
    'Applicant' => array(
     'id' => '66', 
     'clientcase_id' => '66', 
     'archive_id' => '1', 
     'birthdate' => null, 
     'title' => null, 
     'first_name' => 'Tania', 
     'middle_name' => '', 
     'surname' => 'Humphreys', 
     'email' => '[email protected]', 
     'landline_number' => null, 
     'mobile_number' => '0438854355', 
     'applicant_type' => 'Main applicant', 
     'created' => '2012-10-29 00:00:00', 
     'modified' => '2012-10-21 00:00:00' 
    ) 
) 

我需要一个看起来像这样:

array(
'Applicants' => array(
    'id' => 435, 
    'id' => 436, 
    'id' => 66 
) 

如何可能我会去这样做? 或者还有更好的方法吗?

当我保存报价数组是这样的:

array(
'QuoteButton' => 'Submit', 
'Quote' => array(
    'date' => array(
     'day' => '13', 
     'month' => '10', 
     'year' => '2013' 
    ), 
    'description' => '', 
    'quote_accepted' => '0', 
    'research_accepted' => '0', 
    'cc_accepted' => '0', 
    'pesel_accepted' => '0', 
    'setfees_accepted' => '0', 
    'total' => '0' 
), 
'Applicant' => array(
    'id' => '66' 
), 

如何插入多个申请人入阵?

回答

0

的磁盘阵列不能有相同的id,但箱子另一个数组是这样的:

$datas = array(
(int) 0 => array(
    'Applicant' => array(
     'id' => '436', 
     'clientcase_id' => '66', 
     'archive_id' => '1', 
     'birthdate' => '2013-09-21 01:41:00', 
     'title' => '', 
     'first_name' => 'george', 
     'middle_name' => 'a', 
     'surname' => 'summerlane', 
     'email' => '[email protected]', 
     'landline_number' => '88465120.', 
     'mobile_number' => '', 
     'applicant_type' => '', 
     'created' => '2013-09-21 01:43:10', 
     'modified' => '2013-09-21 01:43:10' 
    ) 
), 
(int) 1 => array(
    'Applicant' => array(
     'id' => '435', 
     'clientcase_id' => '66', 
     'archive_id' => '1', 
     'birthdate' => '2013-09-21 01:41:00', 
     'title' => '', 
     'first_name' => 'mary', 
     'middle_name' => 's', 
     'surname' => 'amnn', 
     'email' => '[email protected]', 
     'landline_number' => '465132', 
     'mobile_number' => '', 
     'applicant_type' => '', 
     'created' => '2013-09-21 01:41:48', 
     'modified' => '2013-09-21 01:41:48' 
    ) 
), 
(int) 2 => array(
    'Applicant' => array(
     'id' => '66', 
     'clientcase_id' => '66', 
     'archive_id' => '1', 
     'birthdate' => null, 
     'title' => null, 
     'first_name' => 'Tania', 
     'middle_name' => '', 
     'surname' => 'Humphreys', 
     'email' => '[email protected]', 
     'landline_number' => null, 
     'mobile_number' => '0438854355', 
     'applicant_type' => 'Main applicant', 
     'created' => '2012-10-29 00:00:00', 
     'modified' => '2012-10-21 00:00:00' 
    ) 
) 

); 

$ids = array(); 
foreach($datas as $data => $applicants) { 
    $ids[] = $applicants['Applicant']['id']; 
} 

print_r($ids); 

输出:

Array ([0] => 436 [1] => 435 [2] => 66) 

如何使用ids?就像这样:

foreach($ids as $key => $id) { 
    // do whatever you want with the applicant id 
} 
+0

我可以用set :: classicextract得到类似的东西,但是在我拥有它之后,我不是su关于如何处理它。 – user2787386

0

像tttony指出,数组索引必须是唯一的,所以我会:

$ids = array(); 
foreach($array as $applicant) 
    $ids[$applicant['Applicant']['id']] = null; 

将输出:

Array 
(
    [436] => 
    [435] => 
    [66] => 
) 

现在的ID是关键$ IDS array ...你可以添加其他东西作为值而不是null