当我在 Laravel 中更改主键时,SoftDelete 不起作用

ali*_*ati 5 laravel

我已将表中的主键从 id 更改为 pr_id 和 mobile。


$table->primary(['pr_id' , 'mobile']);

Run Code Online (Sandbox Code Playgroud)

我还在模型中添加了 SoftDelete Trait。但是当我想删除一条记录时却不起作用。

Aya*_*hah 3

我相信这是因为没有在模型中提及主键,并且您的模型仍然认为主键是id您更改的主键。所以你只需将以下脚本添加到相关模型中,

class YourModelClass extends Model
{
     protected $primaryKey = 'pr_id';
}
Run Code Online (Sandbox Code Playgroud)

这种方式模型不会将主键视为id