2016-06-21 20 views
0

Ich habe meine Benutzer Tabelle (mit Namen, E-Mail, Passwort, etc ...) und die Benutzer können Bilder, Dateien oder Videos hochladen.Löschen von Dateien/Uploads beim Löschen Benutzer

Ihre Bilder in bestimmten Pfad gespeichert sind (zum Beispiel /myproject/app/public/uploads/01/picture.jpg)

fragte ich mich, wenn die von den Benutzern hochgeladenen Dateien können gelöscht werden, wenn die Zeile des Benutzers gelöscht.

Das große Problem ist, dass ich die Daten löschen will, dass die Benutzer hochgeladen haben, wenn ich php artisan migrate:refresh --seed

Ich habe versucht, dies auf der Migrationsdatei 2014_..._create_users_table.php:

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

use File; 

class CreateUsersTable extends Migration 
{ 
    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 

     Schema::create('users', function (Blueprint $table) { 
      $table->engine = 'InnoDB'; 
      $table->increments('id'); 
      $table->string('name'); 
      $table->string('email')->unique(); 
      $table->string('password'); 
      $table->rememberToken(); 
      $table->timestamps(); 
     }); 
    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::drop('users'); 
     // Deleting ALL the data that the users have uploaded 
     $dir = public_path(). "/uploads/"; 
     File::deleteDirectory($dir, true); 
    } 
} 

Aber ich habe die folgenden Fehler wenn ich versuche, php artisan migrate:refresh --seed

[ErrorException] 
The use statement with non-compound name 'File' has no effect 

Vielen Dank für Ihre Hilfe auszuführen!

Antwort

1

ändern use File; zu use Illuminate\Support\Facades\File as File;

+0

Vielen Dank! Es funktionierte ! ^^ – Didi

Verwandte Themen