【发布时间】:2016-12-03 06:35:31
【问题描述】:
您好,当我尝试将模型的属性保存到数据库时遇到问题。我在 OctoberCMS 中写,我有这个功能:
public function findActualNewsletter()
{
$actualNewsletter = Newsletter::where('status_id', '=', NewsletterStatus::getSentNowStatus())->first();
if (!$actualNewsletter) {
$actualNewsletter = Newsletter::where('send_at', '<=', date('Y-m-d'))->where('status_id', NewsletterStatus::getUnsentStatus())->first();
$actualNewsletter->status_id = NewsletterStatus::getSentNowStatus();
dd($actualNewsletter);
}
return $actualNewsletter;
}
getSentNowStatus()=2;
getUnsentStatus()=1;
dd($actualNewsletter) 在我的 if 语句中显示 status_id = 2 但在数据库中我仍然有 1。我在 afterSave() 中使用了这个函数,所以我不需要:
$actualNewsletter->status_id = NewsletterStatus::getSentNowStatus();
$actualNewsletter->save();
因为我有错误然后我在保存中使用保存。 当然,我填写了表格 $fillable =['status_id']。现在我不知道为什么当它转到我的 if 时它不保存在数据库中。也许有人看到我的错误?
【问题讨论】:
-
我从来没有使用过OctoberCMS,但看起来你应该
->save()你的模型,这样它才能持续存在。 octobercms.com/docs/database/model#basic-updates -
但我在函数 afterSave() {there is my function}中使用了这个,所以我尝试使用 ->save() 问题必须在其他地方
-
我厌倦了使用 save() 我在我的帖子中写过这个,但它仍然没有将我的属性保存到数据库中
-
如果您在“afterSave”回调中使用它,则保存操作已经发生。是否可以使用“beforeSave”回调?
-
是的,我之前试过用这个保存也一样
标签: php database attributes save