繁体   English   中英

如何在 Laravel 中设置和输入从创建日期到数据库的过期日期

[英]How to set and input an Expiration Date from Creation Date to database in Laravel

我试图将条目提交到数据库,并在创建日期后 +1 周计算自动到期日期。 问题是,我不知道如何将我在存储控制器中创建的变量与创建表单上的输入一起添加。

这是我的创建表单:

                <div class="container-fluid">

                    <!-- Page Heading -->
                    <h1 class="h3 mb-2 text-gray-800">Pasien Baru</h1>
                    <p class="mb-4">Konfigurasi untuk mendaftarkan pasien</p>
                    
                    <div>
                        <form method="post" action="/dashboard/pasien" enctype="multipart/form-data">
                            @csrf
                            <div class="form-group">
                                <label for="nik">NIK Pasien</label>
                                <input maxlength="16" type="text" class="form-control @error('nik') is-invalid @enderror" id="nik" name="nik" placeholder="Nomor Induk Kependudukan">
                                @error ('nik')
                                    <div class="invalid-feedback">
                                        {{ $message }}
                                    </div>
                                @enderror
                            </div>
                            <div class="form-group">
                                <label for="name">Nama Pasien</label>
                                <input type="text" class="form-control @error('name') is-invalid @enderror" id="name" name="name" placeholder="Nama Lengkap">
                                @error ('name')
                                    <div class="invalid-feedback">
                                        {{ $message }}
                                    </div>
                                @enderror
                            </div>
                            <div class="form-group">
                                <label for="lahir">Tanggal Lahir</label>
                                <input type="date" class="form-control @error('lahir') is-invalid @enderror" id="lahir" name="lahir">
                                @error ('lahir')
                                    <div class="invalid-feedback">
                                        {{ $message }}
                                    </div>
                                @enderror
                            </div>
                            <div class="form-group">
                                <label for="kelamin">Jenis Kelamin</label><br>
                                <select class="form-select" name="kelamin" style="width: 200px">
                                    <option selected value="pasien">Laki-laki</option>
                                    <option value="admin">Perempuan</option>
                                </select>
                                @error ('kelamin')
                                    <div class="invalid-feedback">
                                        {{ $message }}
                                    </div>
                                @enderror
                            </div>
                            <div class="form-group">
                                <label for="poli">Layanan</label><br>
                                <select class="form-select" name="poli" style="width: 200px">
                                    @foreach ($layanan as $poli)
                                        <option value="{{ $poli->singkatan }}">{{ $poli->jenis }}</option>
                                    @endforeach
                                </select>
                                @error ('poli')
                                    <div class="invalid-feedback">
                                        {{ $message }}
                                    </div>
                                @enderror
                            </div>
                            <div class="form-group">
                                <label for="bayar">Jenis Pembayaran</label><br>
                                <select class="form-select" name="bayar" style="width: 200px">
                                    <option selected value="umum">Umum</option>
                                    <option value="bpjs">BPJS Kesehatan</option>
                                    <option value="kis">JKN-KIS</option>
                                </select>
                                @error ('bayar')
                                    <div class="invalid-feedback">
                                        {{ $message }}
                                    </div>
                                @enderror
                            </div>
                            

                            <div class="form-group col-md-6">
                            </div>
                            <button type="submit" class="btn btn-primary mt-4">Daftarkan</button>
                        </form>
                        <a href="/dashboard/pasien/" class="mt-3 btn btn-danger">Batal</a>
                    </div>
                </div>

这是我的 laravel 商店控制器。 $expiry_day 工作正常,但我不知道如何在 create 方法中将其添加在一起。 我想让 $expiry_day 成为“过期”值:

public function store(Request $request)
{                      
    $start_day = Carbon::parse($request->created_at);
    $expiry_day = $start_day->addWeek();
    
    $validateData = $request->validate([
        'nik' => 'required',
        'name' => 'required',
        'kelamin' => 'required',
        'lahir' => 'required',
        'bayar' => 'required',
        'expired' => 'required',
        'poli' => 'required',
    ]);
                      
    pasien::create($validateData);

    return redirect('/dashboard/pasien')->with('success','Data pasien berhasil ditambahkan');
}

您可以简单地将日期添加到经过验证的数据数组中。 这将在您创建模型时插入。

$validatedData = $request->validate([...]);

$start_day = Carbon::parse($request->created_at);
$validatedData['expired'] = $start_day->addWeek();

pasien::create($validateData);

这要求expired是数据库中的一列,并且在Pasien模型上的可填充数组中。

奖励:请不要以小写形式调用类,普遍认为类以大写字母开头。

Pasien::create($validateData);

暂无
暂无

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

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