У меня небольшая проблема с Laravel 4. Я хотел бы использовать метод delete()
в записи, но по какой-то причине он фактически не удаляет запись. destroy()
делает, поэтому мой код хорош. Кроме того, если я Teetime::where('date', '=', $formattedDate)->count()
в мое представление, я получаю тот, который является правильным. В чем проблема?
if($action=="delete") { $teetime = Teetime::where('date', '=', $formattedDate)->firstOrFail(); // for some reason $teetime->delete() doesn't work Teetime::destroy($teetime->id); }
destroy
– правильный метод для удаления объекта напрямую (через объект или модель). Пример:
$teetime = Teetime::where('date', '=', $formattedDate)->firstOrFail(); $teetime->destroy();
delete
может быть вызван только в построителе запросов Пример:
$teetime = Teetime::where('date', '=', $formattedDate)->delete();
Из документации:
User::destroy(1); User::destroy(array(1, 2, 3)); User::destroy(1, 2, 3);
Конечно, вы также можете запустить запрос на удаление для набора моделей:
$affectedRows = User::where('votes', '>', 100)->delete();
Дополнительная информация: http://laravel.com/docs/eloquent