2016-10-21 6 views
0

Ich habe ein Laravel 5.2-Projekt, und ich will Laravel Scheduler von bestimmten Zeit von Datenbankdaten laufen, so dass ich erstellen Zeitplan Kernel wie folgt aus:Laravel Funktion bei Scheduler

protected function schedule(Schedule $schedule) 
{ 
    // Run proposal schedule to generate albums 
    $proposals = Proposal::whereStatus(true)->whereGenerated(false)->get(); 
    foreach ($proposals as $key => $proposal) { 
     $time = date('i G ', strtotime($proposal->duedate)); 
     $send_date = date($time . 'j n * Y', strtotime($proposal->created_at . ' + ' . $proposal->timeout . ' days')); 
     $schedule->call(function() use($proposal) { 
      $proposal->generateAlbums(); 
     })->cron($send_date); 
    } 
} 

Und es ist gut funktionieren, bis ich zurückgesetzt meine Migration und versuchen, von Anfang an zu wandern, ich habe einen Fehler wie diese

SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "proposals" does not exist 

Also ich denke, es ist nicht gut, wenn ich meinen Code dort platzieren, oder ??

Wo sollte ich meinen Code dafür platzieren ??

Oder es ist schon richtig und was ich brauche nur zu prüfen, ob Datenbanktabelle vorhanden sind oder nicht ??

muss ich beste Lösung, um Code nur die Art und Weise liefern Laravel ..

+0

existiert es ist schon richtig und was Sie tun müssen, ist nur zu prüfen, ob Datenbank Tabelle sind vorhanden oder nicht. –

+0

Ja, stimmt, die Datenbank existiert nicht, wenn ich mein Projekt neu installieren möchte, wie kann ich prüfen, ob die Datenbank existiert oder nicht? @ Bhavesh –

Antwort

1

Sie überprüfen können, ob Tabelle oder nicht

if (Schema::hasTable('proposals')) { 
    //Your code which needs to execute 
} 
Verwandte Themen