首页 > 解决方案 > Laravel 从表单获取值到日期('request->date')

问题描述

我刚刚尝试在 Laravel 中使用弹出表单。

我想在“开始”和“结束”列(在视图上)中获取一个值,以便控制器可以检索它。

这是一个包含“开始”和“结束”列的弹出式表单。

意见

<div class="modal fade col-xs-12 col-sm-12 col-md-12 col-lg-12" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
            </div>
            <div class="modal-body">
                <form id="frmProducts" name="frmProducts" class="form-horizontal" novalidate="">
                    <div class="">
                        <div class="form-group">
                            <label class="col-form-label">Dari:</label>
                            <input type="date" name="start" class="form-control" value="yyyy-mm-dd">
                            <label class="col-form-label">Sampai:</label>
                            <input type="date" name="end" class="form-control" value="yyyy-mm-dd">
                        </div>
                    </div>
                </form>
            </div>
            <div class="modal-footer">
                <a href="{{ route('test') }}" id="export" class="btn btn-outline-success mb-3">PDF</a>
            </div>
        </div>
    </div>
</div>
----
$(document).on('click','.open_modal',function(){
        var url = "sub.domain.com/folder";
        $.get(url, function (reservasi) {
            console.log(reservasi);
            $('#start').val($request->start);
            $('#end').val($request->end);
            $('#export').val("test");
            $('#myModal').modal('show');
        }) 
    });

控制器

public function test(Request $request)
    {
        $start = date($request->start);
         $end = date($request->end);
        $reservasi = Reservasi::join('kamar','reservasi.idkamar','=','kamar.id')
        ->select('reservasi.id','kamar.name as kamar','reservasi.konfirmasi', 'reservasi.created_at')
        ->whereBetween('reservasi.created_at', [$start, $end])
        ->orderBy('reservasi.konfirmasi','ASC')
        ->get();
dd($reservasi);

    }

编辑:我打算从“开始”和“结束”列中获取值作为我们要打印的日期的限制。

我们已经成功创建了打印脚本。但没有日期限制。为此,我们的Controller使用dd()来查看数据检索的结果。最后,我们将用打印代码替换此代码。

标签: laravellaravel-5eloquentlaravel-5.8

解决方案


您不能将 laravel 代码放在 javascript 或客户端代码中,就像您必须使用刀片模板一样:

$('#start').val({{$request->start}});
$('#end').val({{$request->end}});

但是一般的代码不清楚尝试详细说明,因为我无法理解您如何使用 $start 和 $end 变量并同时查找它们。要么从控制器获取它们,然后在 javascript 中使用它们,要么以其他方式使用它们。你能证明更多吗?


推荐阅读