-2

嗯,我有3個表: sorty帶有字段ID,姓名,FSTART,防範 BOL帶域ID,FOL和 bol_sorty與ID,bol_id,sorty_idDataMapper的PHP關係

當我添加一個新的註冊到排序,它必須添加到從fstart到fEnd的項目數目。 我知道如何創建一個新的對象並將其插入表中,但我不能不想要任何關於[我想],已經閱讀代碼點火器和數據映射器指南,我是新的。

是這樣的: MODEL:

public function agregar() { 
     $nombre=$this -> input -> post('nombre'); 
     $folio_inicial=$this -> input -> post('folioInicial'); 
     $folio_final= $this -> input -> post('folioFinal'); 

     $u = new Sorteo(); 
     $u -> nombre = $nombre; 
     $u -> folio_inicial = $folio_inicial; 
     $u -> folio_final = $folio_final; 
     $u -> costo = $this -> input -> post('costo'); 
     $u -> save(); 

     /*for($i=$folio_inicial; $i<=$folio_final; $i++){ 

      $b=new Boleto(); 
      $b->folio=$i; 
      $b->estado=2; 
      $b->condicion=2; 
      $b->campus=4; 
      $b->save(); 
      //$u->save($b); 
     } 

     /* $this->load->model('sorteos/model_boleto'); 
     $this->model_boleto->agregar($nombre, $folio_final,$folio_inicial); 

     /*if ($u -> save()) 
      return true; 
     else 
      return false;*/ 
    } 

和控制器

public function procesar_sorteo_nuevo() { 
     $this -> form_validation -> set_rules('nombre', 'Nombre', 'trim|required|is_unique[sorteos.nombre]'); 
     $this -> form_validation -> set_rules('folioInicial', 'Folio Inicial', 'trim|required|callback_chequear'); 
     $this -> form_validation -> set_rules('folioFinal', 'Folio Final', 'trim|required'); 
     $this -> form_validation -> set_rules('costo', 'Costo', 'trim|required'); 

     if ($this -> form_validation -> run()) { 
      if ($this -> model_sorteo -> agregar()) { 
       echo "Sorteo Creado"; 
      } else { 
       echo "ERROR FATAL"; 
      } 
      //redirect('/sorteos/sorteos/'); 
     } 

    } 
+1

提前致謝!! –

+0

可能會建議閱讀一些企業應用程序體系結構 - 有很好的書籍,也有一些在線內容。詳細閱讀[數據源架構模式](http://martinfowler.com/eaaCatalog/)。假設關於RDBMS和實體關係的基本知識。 – ficuscr

+0

感謝很多,我會做 –

回答

0

對於每個表中添加父ID相匹配的子表。

sorty---------id-------fstart------fend 
    bol-----------id-------sortyid Parent For Sorty 
    bol_sorty-----id-------bolid-------sortyid parent for sorty and bol. 
    and if bol_sorty needs a parent in both. 
    bol_sorty-----id-------parent_bol----parentsorty-- 
    Then--select from bol_sorty where bolid="'.$value.'" and sortyid="'.$value.'", etc. 

多插入查詢的示例。如果(mysql_query('insert into sorty(id,fstart,fend))選擇「'。$ id1。'」,「'。$ fstart。'」,「'。$ fend。'」from sorty where id =「 '。$ id。'「')和mysql_query('insert into bol(id,bol,bolsorty)select''。$ bolid。'」 - etc--其中id =「'。$ id。'」和bolid =「'。$ bolid。'」'))--- etc.can可以使用----和(mysql_query(插入到bol_sorty(等)中)添加第三個插入選擇「'。$ id。'」, - 等我建議命名字段ID的每個後續表--- id,bid,sid和設置父母--- pid1,pid2。

+0

謝謝,這就是我的方式,但我認爲它不同於代碼的好處。 –