Как выполнить операцию удаления на модели в 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();