簡體   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