2017-06-15 55 views
1

我有称为识别符表,其具有主键的外键到另一个表的表:Laravel锋不会删除模型

[TABLE 1] id (PK) ..attributes 
[TABLE 2] table1_id (PK, FK) ...attributes 

我已经在“表2”中定义模型的属性$primaryKey = table1_id

当我尝试删除表2记录时,返回值为true,但没有任何反应。

我已经试过了三种方式:

$table1->table2()->delete()

Table2::where('table1_id', $table1_id)->delete()

Table2::find($table1_id)->delete()

DB::table('table2')->where('table1_id', $table1_id)->delete()

而且三人都回归真实,但没有真正发生。

任何光?我应该在Laravel的回购上打开问题吗?

+0

是否使用软删除? – Dale

+0

@Dale对'表1',是的。但是我试图删除记录的表是'Table 2',它不会使用SD。 – Luiz

回答

1
Table1::find(id)->delete() 

Table2::find(id)->delete() 

,因为它们是相同的密钥。

试试这个没有()对表2:

$table1->table2->delete() 
+0

我试过了,得到了同样的结果。将更新问题。 – Luiz

+0

尝试传递table2 id然后,它表示它使用了准备好的语句,并期望绑定被传入。 – btl