Php Can';t分离和删除morphToMany关系

Php Can';t分离和删除morphToMany关系,php,laravel,eloquent,Php,Laravel,Eloquent,在我的模型中,我有一个变形人关系 公共职能开支() { 返回$this->morphToMany(Expense::class,'expensable'); } 我正在尝试从expensables透视表中删除该关系,并从expenses表中删除该项 public function deleting(Wallet $wallet) { // FIRST TEST $wallet->expenses()->detach(); // Detach the "wa

在我的模型中,我有一个变形人关系

公共职能开支() { 返回$this->morphToMany(Expense::class,'expensable'); }

我正在尝试从
expensables
透视表中删除该关系,并从
expenses
表中删除该项

public function deleting(Wallet $wallet)
{
    // FIRST TEST 
    $wallet->expenses()->detach(); // Detach the "wallet" from table "expensables" => GOOD but don't remove the "expense" from table "expenses"
    
    // SECOND TEST
    $wallet->expenses()->delete(); // Delete the "expense" from table "expenses" but don't remove the "wallet" from table "expensables"

   // THIRD TEST
   $wallet->expenses()->detach(); 
   $wallet->expenses()->delete();
   // Doesn't work, I can't do that, It detaches properly but then I can't remove the expense element.
}
我该怎么办

我很想从
费用表中分离
钱包
,并从
费用表中删除费用

谢谢你

该死的

@lagbox的评论是我没有测试过的唯一可能,而且它有效

我做到了:

public function deleting(Wallet $wallet)
{
    $wallet->expenses()->delete();
    $wallet->expenses()->detach();
}
谢谢你

该死的

@lagbox的评论是我没有测试过的唯一可能,而且它有效

我做到了:

public function deleting(Wallet $wallet)
{
    $wallet->expenses()->delete();
    $wallet->expenses()->detach();
}

谢谢

您是否尝试过先删除?因为在您执行分离之后,将不会有任何东西需要删除。您是否尝试过先执行删除?因为在你完成分离后,就不会有任何东西留下来了,很高兴你让它工作了。。。它的后备箱(顺便说一句;)很高兴你让它工作了。。。它的后备箱(顺便说一句;)