0

私は2つのテーブルを持っています

**Table sale :**

 id_sale    int
 id_projet  int
 price      float
 date       date


**Table sale_ligne:**

id_sale_ligne  int
id_sale        int FK_SALE
id_projet      int
price          float
date           date

販売テーブルに挿入すると同時に、テーブル line_sale にクエリを挿入することができました

 $this->dbAdapter->query('INSERT INTO sale (price, date) VALUES (?, ?)', array('price', 'date'));
    $salesId = $this->dbAdapter->getDriver()->getLastGeneratedValue();
$this->dbAdapter->query('INSERT INTO sale_ligne (price, date, id_sale) VALUES (?,?,?)',array('price', 'date', $salesId));

、私はワンクリックで販売テーブルとの関係を持つline_sale行を(削除、更新)したい、つまり、(id = 2 "exemple")で販売レコードを削除すると、(id_sale = 2)のline_saleは自動的に削除されます、(id = 2 "exemple")のレコードの(価格、日付)を更新すると、同じように更新されます。それらは、(id_sale = 2)SQLリクエストのアダプターを使用してline_saleで自動的に更新され、この関数を使用して取得します特定のセールの Line_sale

public function getLigneVenteByVente($id)
    {
        $result  = $this->select(function (Select $select) use ($id){
        $select->where(array('id_sale'=>$id));      
        $select->join('sale', ' ligne_sale.id_sale=sale.id ');
        });
        return $result;


    }

どうも

4

1 に答える 1

2

次のように sql join または and を使用できます。

DELETE FROM table1, table2 WHERE table1.id = (constant) AND table1.id = table2.id

ここで、constant は、両方のテーブルから削除する ID 値です。

ちなみに、これはこの質問ですでに回答されています。

于 2013-08-05T10:19:06.930 に答える