如何使用 laravel 8 从 url 中获取动态 start_date 和 end_date(日期范围)?

Posted

技术标签:

【中文标题】如何使用 laravel 8 从 url 中获取动态 start_date 和 end_date(日期范围)?【英文标题】:How grab dynamic start_date & end_date (date renge) form url use laravel 8? 【发布时间】:2022-01-22 16:13:00 【问题描述】:

点击打印后如何获取动态 start_date & end_date 表单 url 到 href?

enter image description here

当我点击打印时,start_date & end_date 总是为空

enter image description here

这里是我的观点:

<form action="/laporanstok/viewlaporanstok" method="get">
                            <div class="container align-items-center">
                                <div class="row">
                                    <div class="col-6">
                                        <div class="form-group">
                                            <label class="font-weight-bold">Tanggal Mulai:</label>
                                            <input type="date" id="start_date" name="start_date" class="form-control"
                                                required>
                                        </div>
                                    </div>
                                    <div class="col-6">
                                        <div class="form-group">
                                            <label class="font-weight-bold">Tanggal Akhir:</label>
                                            <input type="date" id="end_date" name="end_date" class="form-control"
                                                required>
                                        </div>
                                    </div>
                                    <div class="container text-center">
                                        <button type="submit" class="btn btn-success"><i class="fas fa-search"></i>
                                            Cari</button>
                                        <a href=" route('cetak_stok',['start_date'=>"
                                            ????",'end_date'=>"????"],) " target="_blank" class="btn
                                            btn-primary"><i class="fas fa-print"></i>
                                            Print</a>
                                        <a href="/laporanstok" class="btn btn-danger"><i class="fas fa-sync-alt"></i>
                                            Reset</a>
                                    </div>
                                </div>
                            </div>
                        </form>

我的模特:

class M_Laporan_Stok extends Model

    use HasFactory;

    protected $table = 'tbl_barang';
    protected $primaryKey = 'id_barang';
    protected $fillable = [
        'id_proyek',
        'kode_barang',
        'nama_barang',
        'tipe_barang',
        'stok',
        'created_at',
        'updated_at'
    ];

我的控制器:

public function print(Request $request)
    
        $data = [
            'title' => 'Cetak Stok',
            'judul' => 'Halaman Cetak Stok',
            'start_date' => $request->start_date,
            'end_date' => $request->end_date,
        ];

               return view('/content/laporan_stok/v_cetak_laporan_stok', $data);
    

我的路线:

Route::get('/laporanstok/cetak', [LaporanStokController::class, 'print'])->name('cetak_stok');

【问题讨论】:

【参考方案1】:

更改这部分代码

<div class="container text-center">
                                    <button type="submit" class="btn btn-success"><i class="fas fa-search"></i>
                                        Cari</button>
                                    <a href=" route('cetak_stok',['start_date'=>"
                                        ????",'end_date'=>"????"],) " target="_blank" class="btn
                                        btn-primary"><i class="fas fa-print"></i>
                                        Print</a>
                                    <a href="/laporanstok" class="btn btn-danger"><i class="fas fa-sync-alt"></i>
                                        Reset</a>
</div>

这样你就有了 2 个提交按钮。提交表单可以获得您需要的日期。

<div class="container text-center">
                                    <button type="submit" name="submit" class="btn btn-success"><i class="fas fa-search"></i>
                                        Cari</button>
                                     <button type="submit" name="print" class="btn btn-primary"><i class="fas fa-print"></i>
                                        Print</button>
                                    <a href="/laporanstok" class="btn btn-danger"><i class="fas fa-sync-alt"></i>
                                        Reset</a>
</div>

在控制器中检查点击了哪个按钮。

if (isset($_POST['submit'])) 
   //submit button was clicked
 else if (isset($_POST['print'])) 
   //print button was clicked
 else 
   //no button pressed

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何使用 laravel 8 从 url 中获取动态 start_date 和 end_date(日期范围)?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Request $request 从 url 获取 id? (Laravel 5.3)

ajax获取数据请求url未找到但已经存在,Laravel 8

如何从 Laravel 8 Eloquent 中的嵌套关​​系中获取数据?

Laravel 5如何通过控制器的登录方法从url获取参数

如何从 Laravel 8 Jetstream 注册页面中的数据库中获取数据?

如何在 Blade 模板(Laravel v8)中获取 url 参数