Laravel 调度程序中的函数

Laravel Function at Scheduler

我有一个 laravel 5.2 项目,我想 运行 laravel 根据数据库数据的指定时间调度程序,所以我创建了这样的调度内核:

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 );
    }
}

它工作正常,直到我重置我的迁移并尝试从头开始迁移,我得到了这样的错误

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

所以我觉得如果我把我的代码放在那里不太好,对吧??

我应该把我的代码放在哪里??

或者它已经正确了,我只需要检查数据库 table 是否存在??

我需要按照 laravel 提供的方式进行编码的最佳解决方案..

您可以通过

检查table是否存在
if (Schema::hasTable('proposals')) {
    //Your code which needs to execute
}