2017-06-15 56 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