Laravel Eloquent löschen() funktioniert nicht

Dokumentation sagt:

$user = User::find($user_id);

$user->delete();

Diese nicht funktioniert, jedoch ProductColor::find($color_id) arbeiten. $Farbe->delete() Tust etwas zurückzugeben, LÖSCHEN VON query gar nicht ausführen (wie man im debug-bar).

Aber ich kann Datensatz löschen mit:

ProductColor::destroy($color_id);

Muss etwas sein, was ich früher übersehen, ich bin neu in Laravel.

Ich bin mit store auch, und es funktioniert wie erwartet

public function store(Request $request)
    {
        $color = new ProductColor();
        $color->name = $request->color_name;
        $color->order = $request->color_order;
        $saved = $color->save();

        if ($saved) {
            return back()->with('message:success', 'Ok');
        } else {
            return back()->with('message:error', 'Error');
        }

    }

Zusammenfassend

Dies FUNKTIONIERT

public function destroy($color_id)
    {
        $deleted = ProductColor::destroy($color_id);

        if ($deleted) {
            return back()->with('message:success', 'Deleted');
        } else {
            return back()->with('message:error', 'Error');
        }
    }

Diese NICHT

public function destroy($color_id)
{
  $color = ProductColor::find($color_id);

  $color->delete();
}

Mein Modell

<?php

namespace Modules\Shop\Entities;

use Illuminate\Database\Eloquent\Model;
use Modules\Languages\Entities\Language;

class ProductColor extends Model
{
    protected $fillable = [];
    protected $table = 'product_colors';
}
  • Wirklich, ich weiß nicht, warum das nicht funktioniert. Aber warum versuchst du es nicht mit Abfrage ?? $user = User::where('user_id', $user_id)->delete();
  • Meine IDE zeigt, dass 'wo' ist nicht eine statische Methode, so dass ich nur User::destroy($user_id);
  • Was ist die Fehlermeldung, wenn Sie versuchen, verwenden Sie delete()?
  • Wie gesagt, kein Fehler, nichts, es ist einfach nicht excecuting.
InformationsquelleAutor RomkaLTU | 2017-08-13
Schreibe einen Kommentar