我有一个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提供的方式..
答案 0 :(得分:1)
您可以通过
检查表格是否存在if (Schema::hasTable('proposals')) {
//Your code which needs to execute
}