我的产品型号
class Product extends Model
{
public function transaction(){
return $this->belongsToMany('App\Transaction', 'product_transaction', 'product_id', 'transaction_id')
->withPivot('price', 'qty', 'discount_amt', 'product_total')->withTimestamps();
}
}
我的交易模型
class Transaction extends Model
{
public function products(){
return $this->belongsToMany('App\Product', 'product_transaction', 'transaction_id', 'product_id')
->withPivot('price', 'qty', 'discount_amt', 'product_total')->withTimestamps();
}
}
使用product_id删除我的代码
public function deleteProducts( $transId, $productId ){
$trans = Transaction::find( $transId);
$trans->products()->detach( $productId );
}
它完成分离的工作...... 问题是(见照片)我有一个重复的transaction_id和product_id与不同的数量。如果使用我的分离它删除两者。我想使用pivot id。怎么做。
答案 0 :(得分:1)
我能够使用
解决这个问题$trans = Transaction::find( $transId);
$trans->products()->newPivotStatementForId( $productId )->where('id', $pivotId)->delete();
感谢此网站https://www.drukhost.com/2015/05/conditionally-deleting-rows-from-pivot-tables-many-to-many-laravel/