-2

さて、私は 3 つのテーブルを持っています: フィールド id、name、fStart、fEnd bol を持つ sorty、フィールド id、fol、および bol_sorty と id、bol_id、sorty_id です。

新しいレジスタを sorty に追加するときは、fstart から fEnd までの項目数を追加する必要があります。新しいオブジェクトを作成してテーブルに挿入する方法は知っていますが、リレーションについては何も理解できません [試しています]。既にコード イグナイタとデータマッパー ガイドを読んでいます。これは初めてです。

このようなもの: モデル:

 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/');
        }

    }
4

1 に答える 1

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.

マルチ挿入クエリのサンプル。
if(mysql_query('insert into sorty (id, fstart, fend) select "'.$id1.'", "'.$fstart.'", "'.$fend.'" from sorty where id="'. $id.'"') および mysql_query('insert into bol (id, bol, bolsorty) select "'.$bolid.'"--etc-- where id="'.$id.'" and borid=" '.$bolid.'" '))---etc. は、---- および (mysql_query( insert into bol_sorty(etc.) select "'.$id.'") を使用して 3 番目の挿入を追加できます。後続の各テーブルのフィールド ID に名前を付けることをお勧めします---id、bid、sid、親を設定します---pid1、pid2。

于 2013-02-06T23:35:18.433 に答える