Vai al contenuto

Aggiungere Soft Deletes ad una tabella esistente in Laravel

  • di

Innanzitutto, abilita le Soft Deletes nel model. Useremo la tabella degli utenti come esempio.

use Illuminate\Database\Eloquent\SoftDeletes;

class User extends Model {
   use SoftDeletes;
   protected $dates = ['deleted_at'];
}

Quindi, crea una nuova migration per modificare la tabella esistente.

php artisan make:migration add_soft_deletes_to_user_table --table="users"

Apri il file di migration appena creato e aggiungi il metodo softDeletes.

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class extends Migration {

	/**
	 * Run the migrations.
	 *
	 * @return void
	 */
	public function up()
	{
		Schema::table('users', function(Blueprint $table)
		{
			$table->softDeletes();
		});
	}

	/**
	 * Reverse the migrations.
	 *
	 * @return void
	 */
	public function down()
	{
		Schema::table('users', function(Blueprint $table)
		{
			$table->dropSoftDeletes();
		});
	}

}

Ora esegui la migrazione.

php artisan migrate

Ora dovresti vedere la colonna timestamp delete_at nel tuo database.

Maggiori informazioni le trovate nella documentazione ufficiale
https://laravel.com/docs/master/eloquent#soft-deleting

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Per rispondere sul tuo sito web, inserisci l'URL della tua risposta che dovrebbe contenere un link all'URL del permalink di questo post. La tua risposta verrà quindi visualizzata (possibilmente dopo la moderazione) in questa pagina. Vuoi aggiornare o rimuovere la tua risposta? Aggiorna o elimina il tuo post e inserisci nuovamente l'URL del tuo post. (Ulteriori informazioni)