Php 如何在laravel中设置cron用户智能

Php 如何在laravel中设置cron用户智能,php,laravel,Php,Laravel,我已经设置了为用户运行股票更新的cron,现在,如果用户将股票更新设置为“Yes”,而不仅仅是该cron应该为特定用户运行,我就有了用户方面的设置 我在谷歌上搜索过,但找不到任何解决方案 欢迎提供任何参考或建议。在Laravel中,将逻辑放在cron中是不好的做法。为此使用命令和调度程序。这个问题很常见,但另一个简单的方法是过滤哪些用户需要在命令中更新 class UpdateStocks extends Command { protected $signature = 'update:

我已经设置了为用户运行股票更新的cron,现在,如果用户将股票更新设置为“Yes”,而不仅仅是该cron应该为特定用户运行,我就有了用户方面的设置

我在谷歌上搜索过,但找不到任何解决方案


欢迎提供任何参考或建议。

在Laravel中,将逻辑放在cron中是不好的做法。为此使用命令和调度程序。这个问题很常见,但另一个简单的方法是过滤哪些用户需要在命令中更新

class UpdateStocks extends Command
{
    protected $signature = 'update:stocks';

    public function handle()
    {
        User::where('update_stock', 'Yes')->get()->each(function(User $user) {
            // run logic to update the stock
        })
    }
将命令放入调度程序中

$schedule->call(new UpdateStocks)->daily();

用带有maybe?设置的if语句将代码包装在cron中,谢谢@martin。我会尝试这个解决方案如果有什么阻碍你的话,我相信我能帮你找到解决方案。当然。这非常有用我可以使用下面的调度程序命令-->受保护的函数调度(调度$schedule){$schedule->command('update:stocks')->daily();}