2017-04-17 2 views
0

多次元配列をcodeigniterのsqlの返す行から作る方法。 $ resのすべての値を保持するモデルからの戻り値。sqlから多次元配列を作る方法codeigniterの行を返す

$res = $this->user_model->get_room_book_join(['rooms.hotel_id' => 1]); 
if ($res) { 
echo '<pre>'; 
print_r($res); 
} 

私はこのタイプの配列を取得しています。このタイプは私を助けません。

Array([0] => Array 
    (
     [room_id] => 1 
     [room_no] => 101 
     [room_desc] => Double Bed Deluxe Non Air Conditioned 
     [status] => available 
     [category_id] => 1 
     [hotel_id] => 1 
     [tariff_type] => normal 
     [room_rate] => 1000 
     [persons] => 0 
     [date_start] => 0000-00-00 
     [date_end] => 0000-00-00 
     [overview_id] => 1 
     [rom_id] => 1 
     [hot_id] => 1 
     [cus_id] => 2 
     [bok_id] => 2 
     [dates] => 2017-04-12 
    ) 
    [1] => Array 
    (
     [room_id] => 2 
     [room_no] => 101 
     [room_desc] => Double Bed Deluxe Non Air Conditioned 
     [status] => available 
     [category_id] => 1 
     [hotel_id] => 1 
     [tariff_type] => normal 
     [room_rate] => 1000 
     [persons] => 0 
     [date_start] => 0000-00-00 
     [date_end] => 0000-00-00 
     [overview_id] => 1 
     [rom_id] => 1 
     [hot_id] => 1 
     [cus_id] => 2 
     [bok_id] => 2 
     [dates] => 2017-04-13 
    ) 
) 

実際にこのタイプの配列が必要です。

array(
    [0]=>array(
    [room_id]=>1 
    [dates]=>array(
    [0]=>2014-04-12 
    [1]=>2014-04-13 
    ) 
    ) 
    [1]=>array(
    [room_id]=>2 
    [dates]=>array(
    [0]=>2014-04-12 
    [1]=>2014-04-13 
    ) 
    ) 
) 
+0

を試してみてください。あなたの質問をやり直す必要があるかもしれません。 dbスキーマと必要な結果を表形式で共有してください。 –

答えて

0

こんにちは、あなたはこのコードを試すことができ、これはあなたを助けるかもしれ

$クエリ=の$ this - > DB->を取得();

$ result = $ query-> result_array();

$ main_array = array();

$ actual_array = array();

foreachの($結果$ RESなど){

$ main_array [ 'room_id'] = $ RES [ 'room_id']。

$ main_array ['dates'] =配列($ res ['date_start']、$ res ['date_end']);

$ actual_array [] = $ main_array;

}

//エコー ""; print_r($ actual_array);

return $ actual_array;

0

は、あなたはすでにあなたが望むものを得ているこの

// after if ($res) { 

for ($i=0; $i < count($res); $i++) { 
     $res[$i] = array(
      'room_id' => $res[$i]['room_id'], 
      'dates' => array($res[$i]['date_start'],$res[$i]['date_end']) 
     ); 
    } 
関連する問題