2016-05-29 21 views
1

@foreach()の "result"配列の使い方がわかりません 教えてください間違っている これを行うにはより良い方法がありますか? これは、結果は下記のコントローラから来ているLaravel 5.2プロジェクト@foreach() - [Laravelプロジェクト]のAjaxの "結果"を知りません

success:function(result){ 
 
    //alert(result); 
 
    $('#sub_category_select').html(
 
    +' <option value="">--- Sub Category ---</option>' 
 
    +' @foreach('result' as $subCategoryItem)' 
 
    +' <option value="{{$subCategoryItem->id}}">{{$subCategoryItem->category}}</option>' 
 
    +' @endforeach' 
 
    ); 
 
}

である - 私を助けてください

public function subCategorySelect(){ 
 
    $category_id = trim(Input::get('category_id')); 
 
    $subCategoryData = DB::table('categories') 
 
     ->where('parent_id',$category_id) 
 
     ->get(); 
 
    return $subCategoryData; 
 
}

.... ...

+0

__Wrong__することで、ウェブの基礎を理解し、JavaScriptの実行とPHP-テンプレートを混在させないでくださいということです。 –

+0

はい、私は[+ '@foreach(' result '$ subCategoryItemとして)']この行 –

答えて

1

AJAXリクエストがJavaScriptなどのクライアント側の部分であり、ブレードテンプレートがPHPなどのサーバー側の一部であるため、主に不可能です。そして、あなたは(routes.phpの中に)AJAX要求のために、このテンプレートをretunrする必要が

<option value="">--- Sub Category ---</option>' 
@foreach($result as $subCategoryItem)' 
    <option value="{{$subCategoryItem->id}}">{{$subCategoryItem->category}}</option> 
@endforeach' 

:だから何あなたがすることができることは、とブレードのテンプレートを作成している

Routes::get('sub_items', function() { 
    $results = //here you have to recive categories somehow 
    return view('the_template_above', compact('results')); 
}); 

そしてJS部分意志次のようになります。

success:function(result){ 
    //alert(result); 
    $('#sub_category_select').html(result); 
} 
+0

どこに "return view( 'the_template_above');" ?どのようにこれが引き起こされるのでしょうか? –

+0

あなたはいくつかのAjaxリクエストがありますか?あなたのシステム内のいくつかのルート(routes.php)を指しています。私はルートでこれを達成する方法を示すために私のエントリを再編集します。 –

+0

いいえ、それは表示されています - foreach()の無効な引数が返されました –

1
controller:- 
    public function subCategorySelect(){ 
     $category_id = trim(Input::get('category_id')); 
     $subCategoryData = DB::table('categories') 
      ->where('parent_id',$category_id) 
      ->get(); 
      return $subCategoryData->result(); 
      echo $this->load->view('path_of_new_view_php_file',subCategoryData); 
     } 

view File- 
    <option value="">--- Sub Category ---</option>' 
    <?php 
     foreach('result' as $subCategoryItem){ 
    ?> 
    <option value="<?php echo $subCategoryItem->id}}"> 
     <?php echo $subCategoryItem->categor ?> 
    </option> 
    <?php 
    } 
    ?> 
js part:- 
    function(category_id){ 
    $.get('Controller_path/subCategorySelect', 
    { 
     category_id: category_id 
    }, 
    function (data,status) { 
     if (status == "success") { 
     $('#sub_category_select').html(result); 
    } 
    }); 
    } 
関連する問題