我想在我的 laravel 应用程序中拥有用户的下载中心 因此,我需要为每个作业批次添加用户信息,
我心中最简单的想法是在 job_batches 表上添加 user_id 列
但是,当作业调度时,laravel 本身似乎会在幕后更新 job_batches 表
如果使用上述方法,我需要通过添加 user_id 来“中断”laravel 插入过程,但我不知道该怎么做
我怎样才能实现这个目标?或者也许有更合适的方法来做到这一点而不是中断 Laravel 的默认进程
当您在构造函数中发送
$user
时,您可以从作业的有效负载中获取用户信息
class YourDownloadJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*/
public function __construct(
public User $user
) {}
/**
* Execute the job.
*/
public function handle(): void
{
// Process download here with $user info
}
}
当你想派遣这份工作时
$user = User::find(1);
YourDownloadJob::dispatch($user)