我仍然在学习Laravel,我正在研究一个命令。基本上,每当我运行我的命令时,它都会正确地运行所有内容,除了foreach语句中的任何内容。
我的命令的防火功能代码:
public function fire()
{
$members = Member::where('expire', '=', Carbon::now()->today());
$this->info('We found ' . $members->count() . ' expiring today!');
foreach ($members as $member) {
$this->comment('ForEach');
$member->active = "0";
$member->save();
$this->comment($member->first_name . ' has been updated.');
}
$this->comment('Comment2');
$this->comment('Comment3');
}
由于我目前不知道自己做错了什么,我很乐意接受任何建议。
答案 0 :(得分:1)
您需要->get()
$members
。您当前正在尝试迭代查询构建器而不是该查询的结果。
foreach ($members->get() as $member) {