【问题标题】:Formatting request URL in Laravel Blade在 Laravel Blade 中格式化请求 URL
【发布时间】:2016-03-14 18:22:03
【问题描述】:

我一直在寻找使用 prettus/l5-repository 进行工作的时间,但我尝试过的所有方法都没有奏效。

我的问题是我需要像这样格式化获取请求的 url

?search=name:John Doe;email:john@gmail.com

当用户点击提交按钮时。

我尝试将request()->query->all() 替换为"search"=>"name:John Doe;email:john@gmail.com",但没有成功。我相信请求的 GET URL 应该是这种格式。

如何格式化请求 URL?

控制器索引()

$paginator = $this->Repository->scopeQuery(function ($query) {
    return $query->orderBy('updated_at', 'desc');
})->paginate($limit, ['*']);

$paginator->appends(request()->query->all()); //Append Url query

刀片

   <form method="GET" action="{{Request::fullUrl()}}">
        <div class="btn-group pull-left" style="padding-left: 0;">
            <a href="{{request()->url().'/create'}}" class="btn btn-success"><span
                        class="glyphicon glyphicon-plus" aria-hidden="true"></span>Create Case</a>
        </div>

        <div id="filterDropDown" class="btn-group col-md-3">
            <button type="button" class="btn btn-info dropDownTitle">Filter</button>
            <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown"
                    aria-haspopup="true" aria-expanded="false">
                <span class="caret"></span>
                <span class="sr-only">Toggle Dropdown</span>
            </button>
            <ul class="dropdown-menu" style="left:14px">
                <li value="All"><a  href="#">All Record</a></li>
                <li value="Waiting"><a  href="#">Waiting</a></li>
                <li value="Resolved"><a  href="#">Resolved</a></li>
            </ul>
            <input type="text" name="status" value="{{Request::get('search')}}"  style="visibility: hidden"/>
        </div>

        <div class="input-group col-md-7 pull-right">
            <input type="text" name="title" class="form-control" id="basic-url"
                   aria-describedby="basic-addon3" value="{{Request::get('search')}}"
                   placeholder="Search by Title or Case number">
            <span class="input-group-btn">
                <button class="btn btn-default" type="submit">Search</button>
            </span>
        </div>

        <div class="clear"></div>
    </form>

【问题讨论】:

    标签: php laravel-5 blade


    【解决方案1】:

    你的搜索是一个字符串,那么你需要explode ";"。

    $search = explode(';', request()->query->get('search'));
    
    $final_search = "search=";
    
    foreach($search as $key => $value) {
        $final_search .= $value . ";";
    }
    

    然后将 $final_search 传递给您的视图

    【讨论】:

    • 只有在请求发出后才能访问 request()->query->get('search')。
    • 然后可以将request()->query->get('search')改为request()->query->all()
    • 您可以在发出请求后访问请求查询中的任何内容,这就是问题所在
    • 所以我不明白你的第一个问题,在你的情况下,你能解释一下 URL 的初始和你的最终期望吗?也许我可以帮忙,对不起我的错!
    • 当它发送请求 url 查询看起来像这样 base_address.com?name=John Doe&email=john@gmail.com。但是,我想要 base_address.com?search"=>"name:John Doe;email:john@gmail.com
    猜你喜欢
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    相关资源
    最近更新 更多