【问题标题】:Laravel Function at Scheduler调度程序中的 Laravel 功能
【发布时间】:2016-10-29 21:35:15
【问题描述】:

我有一个 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

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

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

或者已经对了,我只需要检查数据库表是否存在??

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

【问题讨论】:

  • 已经对了,你需要做的只是检查数据库表是否存在。
  • 是的,如果我想全新安装我的项目,数据库不存在,如何检查数据库是否存在? @Bhavesh

标签: laravel scheduler schedule


【解决方案1】:

您可以通过以下方式检查表是否存在

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

【讨论】:

    猜你喜欢
    • 2014-03-05
    • 2012-02-19
    • 1970-01-01
    • 2019-11-24
    • 2020-11-15
    • 2011-11-21
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多