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