0

マルチフォームがあり、ID によって関連付けられている 4 つの user,news,feed,lat (おそらく 6) テーブルにいくつかの値を挿入する必要があります。これは、イベント がこのすべての情報を必要とするためです。

私のフォーム:

<form method="post" action="<?php echo base_url();?>controller/save" name="event"/>
  <label>User Name</label>

   <!--#####FOR TABLE USER#####-->
  <input type="text" name="name">   
  <input type="text" name="name">



   <!--#####FOR TABLE NEWS#####-->
  <input type="text" name="title">   
  <input type="submit" value="body"/>


  <!--#######################
       OTHER TABLE FIELDS ...
   #######################
   -->    

   <input type="submit" value="save"/>

</form> 

ここで、二次元配列をイベントモデルに渡し、値に応じて対応するテーブルに挿入したいと思います

コントローラ event.php

class Event extends CI_Controller {
    function __construct()
    {
        parent::__construct();
        $this->load->database();
        $this->load->helper('url');   
        $this->load->model('event_model');     
    }

    public function save()
    {

    /** Is it possible to fill this bidimensional array with for loops???? **/

     $arr_data = array(     
          array("person", $this->input->post("name")    , $this->input->post("address")),
          array("news"  , $this->input->post("title")   , $this->input->post("body"  )),
          array("feed"  , $this->input->post("id_feed") , $this->input->post("main"  )),
          array("lat"   , $this->input->post("lat1"     , $this->input->post("lat"   ))
       ); 

        $this->event_model->insert_tables($arr_data); 

    }

}

モデルで配列を受け取り、event_model を宣言する方法を挿入する方法は?

class Event_model extends CI_Model {

    function Event_model ()
    {
        parent::__construct();
    }
     function insert_tables($arr_data) { 

        if( "person" )
          $this->db->insert(person_tb ,


     }

} 

内破などを使用する必要がありますか?この複数の挿入を行うためのより良い方法はありますか?

4

2 に答える 2

1
I would do something like this...

$person = array('name' => $this->input->post("name"), 'address' => $this->input->post("address"));
$news = array('title' => $this->input->post("title"), 'body' => $this->input->post("body"));
$feed = array('id' => $this->input->post("id_feed"), 'main' => $this->input->post("main"));
$lat = array('lat1' => $this->input->post("lat1"), 'lat' => $this->input->post("lat"));

if($this->person_model->insert($person)) {
    $person_id = $this->db->insert_id();
} else {
    // handle the problem of not having an id for this entity...
}

if($this->news_model->insert($news)) {
    $news_id = $this->db->insert_id();
} else {
    // handle the problem of not having an id for this entity...
}

if ($this->feed_model->insert($feed)) {
    $feed_id = $this->db->insert_id();
} else {
    // handle the problem of not having an id for this entity...
}

if($this->lat_model->insert($lat)) {
    $lat_id = $this->db->insert_id();
} else {
    // handle the problem of not having an id for this entity...
}
于 2013-03-22T14:12:05.713 に答える
1

本当に複雑に聞こえます...エンティティごとにモデルを作成し、適切なフィールドを適切なモデルに渡さないのはなぜですか? または、各モデルを挿入/更新するライブラリを作成しますか?

于 2013-03-22T02:18:56.373 に答える