Как выполнить операцию удаления на модели в Laravel 5?
Исходя из опыта Ruby on Rails, когда вы загружаете консоль рельсов, чтобы удалить пользователя или всех пользователей. Я новичок в Laravel 5, и я ищу что-то подобное, чтобы удалить пользователя уже в базе данных sqlite3.
Я вижу, где люди говорят о User::find(1)->delete();
, чтобы удалить пользователя, но где вы его помещаете и запускаете? Есть ли консоль для выполнения задачи удаления? Я хотел бы знать, как удалить пользователя, не отбрасывая таблицу. Я не хочу мягкого удаления.
Ответы
Ответ 1
Вы можете поместить этот код, например, в контроллер.
Вы можете использовать
$user = User::find($id);
$user->delete();
если вы не используете черту SoftDeletingTrait
или
$user = User::find($id);
$user->forceDelete();
если вы это сделаете, и вы хотите действительно удалить пользователя из базы данных, а не просто скрыть его от результатов.
Подробнее вы можете прочитать на странице Laravel
Ответ 2
в larave 5 вы можете использовать метод destroy.
$user->destroy($id);
и, конечно, у вас есть командная строка для этого.
$ php artisan tinker
и вы можете запустить, например,
>> $var = new App\User;
>> $user= $user->find($id);
>> $user->destroy();
Ответ 3
Несколько способов сделать это.
Если ваш контроллер определяет пользователя как аргумент:
public function destroy(User $user)
{
return $user->delete();
}
Вы также можете удалить любого пользователя по $id:
User::destroy ($id);
Предполагая, что вы переносите эти маршруты с некоторой степенью безопасности.
Изменить: Исправлено правописание
Ответ 4
Вы можете использовать приведенный ниже пример, чтобы удалить данные с несколькими Параметры......
>
> tableName::where('field_1','=',$para1)
> ->where('field_2,'=',$para2)
> ->delete();