繁体   English   中英

根据Laravel中另一列(同表)的值自动更新列(7)

[英]Update column automatically based on value of another column (same table) in Laravel (7)

我是 Laravel 的新手。这是我的(数据透视)表:

id | user_id | sponsorship_id | created_at | updated_at | end_date

我想根据具有以下条件的 created_at 列的值自动填充 end_date 列:

如果 sponsorship_id == 1 将 24 小时添加到 created_at 并将新日期放入 end_date 列

如果 sponsorship_id == 2 将 72 小时添加到 created_at 并将新日期放入 end_date 列

如果 sponsorship_id == 3 将 144 小时添加到 created_at 并将新日期放入 end_date 列

这是目前在我的 controller 中:

public function updateSponsorship(Request $req, User $user){

    $dataSponsor = $req->all();

    $new_user = new User();
    $new_user->fill($dataSponsor);
    $user->update($dataSponsor);

    if(array_key_exists('sponsorships', $dataSponsor)){
        $user->sponsorships()->attach($dataSponsor['sponsorships']);
    } else {
        $user->sponsorships()->detach();
    }
    return redirect()->route('admin.users.show', $user);

 }`

数据通过 FORM 从 edit.blade.php 发送

有什么建议吗??

谢谢!

它利用 eloquent 事件来设置 model 的“end_date”属性

您可以查看以下链接以获取更多信息

https://stackoverflow.com/a/27936307/3739625

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM