2017-04-03 22 views
0
public function destroy(Request $request){ 
    $customer = customer::find($request->ID); 

    $customer->delete(); 

} 
Back Query 
"delete from `customer` where `id` is null" 

löschen, wenn Laravel beredtes verwendet, gibt es die Abfrage zurück, aber warum zeigt id als null?Laravel Eloquent wenn speichern oder

+1

Sind Sie sicher, '$ request-> ID' ist tatsächlich bevölkert? do 'dd ($ request-> ID)' und sehen, was zeigt –

+0

ja funktioniert http://imgur.com/OS9TXUI –

Antwort

0

das Problem zu beheben bearbeiten Primärschlüssel auf Modell, weil auf Datenbank Primärschlüssel ist "ID" nicht "id"

protected $primaryKey = 'ID'; 
1

lasst uns versuchen, diese

es

customer::where('id', $request->ID)->delete(); 
1

ändern es zu $request->id arbeiten. Also, dies tun:

public function destroy(Request $request){ 
    Customer::destroy($request->id); 
} 

Oder:

public function destroy(Request $request){ 
    Customer::where('id', $request->id)->delete(); 
} 
+0

Ich kann dies tun, aber warum ID Null –

+0

@MahmoudGad 'dd ($ Anfrage-> ID)' zeigt "null"? Wenn ja, zeigen Sie bitte den Formularcode an. –

+0

Liegt es daran, dass OP ID statt ID verwendet? Müssen Sie Laravel anweisen, eine andere Spalte nach dem zu fragen, wonach sie suchen soll? –

1

Sie so codieren müssen.

public function destroy(Request $request){ 
Customer::where('id', $request->input('ID'))->delete(); 

}