Intereting Posts

Мягкий Удалить все записи из таблицы в laravel 5

Есть ли способ мягкого удаления всех существующих строк в таблице? Я пробовал (Prospect :: delete ();) он удалял все строки постоянно, но он не работает при мягком удалении.

посмотрите на это мягкое удаление

используйте эту черту в своей модели:

 use Illuminate\Database\Eloquent\SoftDeletes; 

и добавьте это в свою модель и схему базы данных:

модель:

 class Flight extends Model { use SoftDeletes; /** * The attributes that should be mutated to dates. * * @var array */ protected $dates = ['deleted_at']; } 

схема базы данных

 Schema::table('flights', function ($table) { $table->softDeletes(); }); 

Теперь, когда вы вызываете метод delete в модели, столбец deleted_at будет установлен на текущую дату и время. И при запросе модели, использующей мягкие удаления, модели с мягким удалением будут автоматически исключены из всех результатов запроса.

Чтобы определить, был ли удаленный экземпляр данной модели удален, используйте метод trashed:

 if ($flight->trashed()) { // } 

Обычно он не удаляет строки в базе данных. Вы должны добавить столбец isActive и т. Д. И установить его (1/0) или (true / false). если вы хотите показать строки, вы должны «Выбрать * из таблицы Where isActive = 1»

Если вы используете раму Laravel старше 4.2, вы можете установить мягкое удаление в своей модели,

 class ModelName extends Eloquent { protected $table = 'table_name'; protected $softDelete = true; } 

Если вы используете Laravel framework 4.2, вы можете установить мягкое удаление в своей модели,

 use Illuminate\Database\Eloquent\SoftDeletingTrait; class ModelName extends Eloquent { use SoftDeletingTrait; protected $table = 'table_name'; } 

Если вы используете Laravel framework выше 4.2, вы можете установить мягкое удаление в своей модели,

 use Illuminate\Database\Eloquent\SoftDeletes; class ModelName extends Eloquent { use SoftDeletes; protected $table = 'table_name'; } 

Надеюсь, вы используете Laravel 5. Итак, вы можете использовать третий метод.