2016-01-06 2 views
5

Привет У меня есть проблема, связанная с массивом, я пытаюсь запросить график апи и сохраняет данные в database.here мой массивКак извлечь данные из массива и вставьте в базу данных

Array 
(
[threadId] => t_mid.1445648572476:316f06a4adc6d7dd57 
[sender] => Array 
    (
     [0] => Array 
      (
       [0] => stdClass Object 
        (
         [name] => rajesh Prasad Shah 
         [email] => [email protected] 
         [id] => 543634645764577 
        ) 

       [1] => stdClass Object 
        (
         [name] => rjtest 
         [email] => [email protected] 
         [id] => 849929567895403 
        ) 

      ) 

    ) 

[messages] => Array 
    (
     [messages] => Array 
      (
       [0] => Array 
        (
         [message] => Same to u dear. 
         [from] => stdClass Object 
          (
           [name] => rajesh Prasad Shah 
           [email] => [email protected] 
           [id] => 543634645764577 
          ) 

         [created_time] => 2015-12-31T11:31:24+0000 
         [id] => m_mid.1451561484487:5b3276ddd9d86d1480 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rjtest 
               [email] => [email protected] 
               [id] => 849929567895403 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => source:chat 
              ) 

            ) 

          ) 

        ) 

       [1] => Array 
        (
         [message] => Happy New Year to all of you 
         [from] => stdClass Object 
          (
           [name] => rjtest 
           [email] => [email protected] 
           [id] => 849929567895403 
          ) 

         [created_time] => 2015-12-31T10:37:47+0000 
         [id] => m_mid.1451558267514:4c017e5a1f8e997586 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rajesh Prasad Shah 
               [email] => [email protected] 
               [id] => 543634645764577 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => read 
              ) 

             [2] => stdClass Object 
              (
               [name] => sent 
              ) 

             [3] => stdClass Object 
              (
               [name] => source:web 
              ) 

            ) 

          ) 

        ) 

       [2] => Array 
        (
         [message] => Happy New Year to all of you 
         [from] => stdClass Object 
          (
           [name] => rjtest 
           [email] => [email protected] 
           [id] => 849929567895403 
          ) 

         [created_time] => 2015-12-31T09:44:49+0000 
         [id] => m_mid.1451555089630:1036078c7bcabeed78 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rajesh Prasad Shah 
               [email] => [email protected] 
               [id] => 543634645764577 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => read 
              ) 

             [2] => stdClass Object 
              (
               [name] => sent 
              ) 

             [3] => stdClass Object 
              (
               [name] => source:web 
              ) 

            ) 

          ) 

        ) 

       [3] => Array 
        (
         [message] => Happy New Year to all of you 
         [from] => stdClass Object 
          (
           [name] => rjtest 
           [email] => [email protected] 
           [id] => 849929567895403 
          ) 

         [created_time] => 2015-12-31T09:43:28+0000 
         [id] => m_mid.1451555008621:62c3365e35ededc773 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rajesh Prasad Shah 
               [email] => [email protected] 
               [id] => 543634645764577 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => read 
              ) 

             [2] => stdClass Object 
              (
               [name] => sent 
              ) 

             [3] => stdClass Object 
              (
               [name] => source:web 
              ) 

            ) 

          ) 

        ) 

       [4] => Array 
        (
         [message] => Very Good 
         [from] => stdClass Object 
          (
           [name] => rajesh Prasad Shah 
           [email] => [email protected] 
           [id] => 543634645764577 
          ) 

         [created_time] => 2015-09-01T09:13:34+0000 
         [id] => m_mid.1445648574720:c2746f8b55fff17369 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rjtest 
               [email] => [email protected] 
               [id] => 849929567895403 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => read 
              ) 

             [2] => stdClass Object 
              (
               [name] => source:chat 
              ) 

            ) 

          ) 

        ) 

       [5] => Array 
        (
         [message] => Good 
         [from] => stdClass Object 
          (
           [name] => rajesh Prasad Shah 
           [email] => [email protected] 
           [id] => 543634645764577 
          ) 

         [created_time] => 2015-09-01T09:13:32+0000 
         [id] => m_mid.1445648572476:316f06a4adc6d7dd57 
         [to] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => rjtest 
               [email] => [email protected] 
               [id] => 849929567895403 
              ) 

            ) 

          ) 

         [tags] => stdClass Object 
          (
           [data] => Array 
            (
             [0] => stdClass Object 
              (
               [name] => inbox 
              ) 

             [1] => stdClass Object 
              (
               [name] => read 
              ) 

             [2] => stdClass Object 
              (
               [name] => source:chat 
              ) 

            ) 

          ) 

        ) 

      ) 

    ) 

)

Это мой PHP код от я выборки данных

foreach($data as $evaluatemessage){ 
    //echo "<pre>";print_r($evaluatemessage); die; 
$inbox=array(); 
    $inbox['thread_id']=$evaluatemessage['threadId']; 
    foreach($evaluatemessage['messages'] as $messagedet){ 
    //print_r($messagedet[0]['id']); die; 
    $inbox['smg_id']=$messagedet[$j]['id']; 
    $inbox['body']=$messagedet[$j]['message']; 
    $inbox['time']=$messagedet[$j]['created_time']; 

    //$inbox['msg_type']=$data; 
//$inbox['user_id']=$data; 
    $inbox['From_name']=$messagedet[$j]['from']->name; 
    $inbox['To_name']=$messagedet[$j]['to']->data[0]->name; 
    $inbox['From_id']=$messagedet[$j]['from']->id; 
    $inbox['To_id']=$messagedet[$j]['to']->data[0]->id; 


    $inbox['tags']=$messagedet[$j]['tags']->data[1]->name; 
//$inbox['Page_id']=$data; 
//echo "<pre>";print_r($inbox); die; 
$inbox['Page_id']='12345'; 
    $this->facebook_inboxes->save($inbox); 
    $j++; 
    } 


$i++; 
} 

, когда я ударил с этим кодом только один ThreadId и содержание отдельных сообщений являются saved.but остальные нет, я хочу, чтобы каждый идентификатор потока с там все сообщения идентификаторd тело сообщения сохраняются по строкам, но не могут сделать это, кто-нибудь может мне помочь, как я это делаю.

ответ

2

Написать этот код до сохранения Функция сохранения

$this->facebook_inboxes->create(); 

Это функция создания торта для хранения нескольких строк.

+0

Спасибо, что это работает. –

0

В массиве сообщений есть другой массив сообщений. Таким образом, в соответствии с вашей структуры массива, ваш второй цикл будет выглядеть следующим образом:

foreach($evaluatemessage['messages']['messages'] as $messagedet){ 

    //print_r($messagedet[0]['id']); die; 
    $inbox['smg_id']=$messagedet[$j]['id']; 
    $inbox['body']=$messagedet[$j]['message']; 
    $inbox['time']=$messagedet[$j]['created_time']; 

. 
. 
. 

} 

и вы используете только:

foreach($evaluatemessage['messages'] as $messagedet){} 

вот полный код:

foreach($data as $evaluatemessage){ 
    //echo "<pre>";print_r($evaluatemessage); die; 
$inbox=array(); 
    $inbox['thread_id']=$evaluatemessage['threadId']; 
    foreach($evaluatemessage['messages']['messages'] as $messagedet){ 
    //print_r($messagedet[0]['id']); die; 
    $inbox['smg_id']=$messagedet[$j]['id']; 
    $inbox['body']=$messagedet[$j]['message']; 
    $inbox['time']=$messagedet[$j]['created_time']; 

    //$inbox['msg_type']=$data; 
//$inbox['user_id']=$data; 
    $inbox['From_name']=$messagedet[$j]['from']->name; 
    $inbox['To_name']=$messagedet[$j]['to']->data[0]->name; 
    $inbox['From_id']=$messagedet[$j]['from']->id; 
    $inbox['To_id']=$messagedet[$j]['to']->data[0]->id; 


    $inbox['tags']=$messagedet[$j]['tags']->data[1]->name; 
//$inbox['Page_id']=$data; 
//echo "<pre>";print_r($inbox); die; 
$inbox['Page_id']='12345'; 
    $this->facebook_inboxes->save($inbox); 
    $j++; 
    } 


$i++; 
} 
+0

hello threadid t_mid.1445648572476: 316f06a4adc6d7dd57 данные вставляются, но trer - это еще 3 идентификатора потока, данные которых не вставлены. –

+0

Не могли бы вы проверить мой код и предложить мне. –

+0

Но в массиве, который вы указали, нет другого 'threadid t_mid'. –

Смежные вопросы