2017-12-19 15 views
0

여기 폼의 내보기 (HTML)이다 : -Laravel 5.2에서 검색 URL 페이지 매김을 만드는 방법은 무엇입니까?

{{ Form::open(array('url' => '/search/','method'=>'get', 'id'=>"search_form_header",'name'=>"search_form_header"))}} 
<div class="filter_clumn"> 
    <ul> 
     <li><strong>Looking for</strong></li> 
     <?php foreach($diningType as $keyDining=>$ditypeval){ ?> 
     <li> 
      <div class="checkbox"> 
       <label> 
       <input type="checkbox" name="looking_for[]" id="looking_for_<?php echo $keyDining;?>" value="<?php echo $ditypeval->id;?>" <?php if(isset($requestLookingFor) && in_array($ditypeval->id, $requestLookingFor)) echo "checked";?>/> 
       <span class="cr rightcr"><i class="cr-icon glyphicon glyphicon-ok"></i></span> 
       <?php echo $ditypeval->name; ?> 
       </label> 
      </div> 
     </li> 
     <?php } ?> 
    </ul> 
</div> 
<a href="javascript:void(0);" class="btn yel_btn big_btn" onclick="document.getElementById('search_form_header').submit()">Apply</a> 
{!! Form::close() !!} 

사용자는 다수의 체크 박스를 선택할 수 있고, 따라서, 체크 박스 배열로 간주된다.

http://demotest.com/laravel/demo_project/public/search?looking_for%5B%5D=1&looking_for%5B%5D=2&looking_for%5B%5D=3 

지금, 코드가 잘 작동하고 내가 원하는 데이터를 얻을 수 있습니다 - : 그래서 양식을 제출 한 후 URL을
http://demotest.com/laravel/demo_project/public/search?looking_for[]=1&looking_for[]=2&looking_for[]=3 

또는 원시 URL에

입니다. 페이지 매김 링크를 만드는 동안 문제는 : -

HTML에서의 페이지 매김을 다음과 같이 설정 : -

@if (!empty($link)) 
<div class="col-sm-12"> 
{!! $link->appends($urlString)->links() !!} 
</div> 
@endif 

$ URLString는이 laravel 기술 매김 URL을 만드는 데 사용하는 배열입니다.

array('param1'=>'param_value1', 
'param2'=>'param_value2', 
'param3'=>'param_value3' 
); 

하지만 배열로 [] looking_for 사용하고 있기 때문에, 내 배열은 같이해야합니다 : - : - laravel에서, 배열이 양식에 키가 동일한 지

array('looking_for[]'=>'1', 
'looking_for[]'=>'2', 
'looking_for[]'=>'3' 
); 

주/반복 은 PHP에서 허용되지 않습니다. 할 수있다,

$dining_ids = $request->input('looking_for'); 
foreach($dining_ids as $di) 
{ 
    $urlString['looking_for[]'] = $di; 
} 

하지만 그 대신 배열은 마지막 값을 복용

array('looking_for[]'=>'3' 
); 

되고있다

array('looking_for[]'=>'1', 
'looking_for[]'=>'2', 
'looking_for[]'=>'3' 
); 

를 만드는 -을 : 내가 제출 양식 후이 같은 배열을 생성하고 키 값을 덮어 쓰려면 대신 새 과 동일한 key_name 다른 어떤 방법으로이 문제를 해결할 수 있습니까?

+0

왜 게시물을 사용하지 않습니까? 모든 값을 배열로 가져옵니다. –

+0

실제로 get 메소드는 SEO의 검색 절차에 대해 "선호"됩니다. 다른 사람들에게 검색 URL (매개 변수 포함)을 공유/전송할 수 있으며 결과를 직접 볼 수 있습니다. – Saswat

+0

가져 오기가 적절합니다.이 정보의 출처를 공유 할 수 있습니까? –

답변

0

몇 가지 연구를 마친 후 문제의 해결책을 발견했습니다. 다른 사람들은 그러한 문제에 직면 할 수 있으므로 여기에 답변을 기록하고 있습니다.

문제는 수동으로 배열을 생성했다 : -

array('looking_for[]'=>'1', 
'looking_for[]'=>'2', 
'looking_for[]'=>'3' 
); 

하나의 솔루션은 다음에

{!! $link->appends($urlString)->links() !!} 

을 변경하는 것입니다 : -

{{ $link->appends($_GET)->links() }} 

위의 코드가 자동으로두고 $_GET 페이지 매김 URL에 매개 변수.