Santosh Patel
Santosh Patel

Reputation: 539

How to fetch data from array and insert to database

Hello i Have a problem related to array,i am trying to request graph api and saves data in database.here is my array

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
                                            )

                                    )

                            )

                    )

            )

    )

)

This is my php code from that i fetch data

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++;
 }

when i hit with this code only a single threadid and single message contents are saved.but rest are not,i want every thread id with there all messages id and message body are saved row by row but unable to do that can anyone help me how i do that.

Upvotes: 5

Views: 167

Answers (2)

user3773761
user3773761

Reputation:

Write this code before Save function

$this->facebook_inboxes->create();

This is enbuild function of cake to store multiple row.

Upvotes: 2

Maha Dev
Maha Dev

Reputation: 3965

There is another messages array inside the messages array. So according to your array structure, your second loop will be like this :

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'];

.
.
.

}

and you are using only:

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

here is the full code :

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++;
 }

Upvotes: 0

Related Questions