2012-04-03 35 views
0

我試圖做一個適合Codeignitors input_batch activerecord的數組。我正在查詢一個鏈接表,所以我有兩個列 - user_id和group_id,因爲我只會爲某個用戶插入信息,user_id每次都是一樣的,我只需要更改group_id。在CodeIgniter中創建使用的數組Activerecord input_batch

這裏是我做了什麼:

$str = $dataGroups['groups']; 
preg_match_all('/[0-9]/', $str, $matches); 

這一部分,我只是需要顯示它是數字形式的組信息「1,2,3,4 ......」,並採取僅是外鍵「GROUP_ID」

之後,所有我做的值的數字正在創造我的input_batch記錄會使用數組這樣做:

$count = count($matches[0]); 
    $datas = array(); 

    for ($i = 0; $i < $count; ++$i) 
    { 
    $datas[] = array("user_id"=>$data['id'],"group_id" => $matches[0][$i]); 
    } 
    return $datas; 

這裏$數據['id']是user_id和它對所有元素都應該是一樣的。 最後我要得到相同的結構如圖所示CI教程(我想是這樣的,至少),它是:

(避風港;噸修改它,我只是引用它在這裏),但是當我var_dump($ datas)我得到空。所以我的邏輯在某處泄漏。

感謝您的幫助 Leron

+0

你想使updateUserGroup()函數? =) – safarov 2012-04-03 17:13:52

+0

不,我更改了邏輯,在每次更正後,組的所有數據都將被刪除,然後再次插入。 – Leron 2012-04-03 17:18:07

+0

好吧,它的工作原理,這是我做了$ id = $ data ['id']然後$ datas [] = array('user_id'=> $ id,'group_id'=> $ matches [0] [$ I]); – Leron 2012-04-03 17:29:34

回答

0
​​

這是我會怎麼做。當你可以使用explode()時,沒有理由使用「複雜」的preg_match技巧。

如果這仍然不起作用,請確保$ str和$ data ['id']有效。