2016-11-18 3 views
0

Я хочу сделать форму выбора модального списка. Вот мой контроллер:получил неопределенную переменную: когда я пытаюсь сделать выборщик

public function picklist(Request $request) 
{ 
    $q = $request->q; 
    $lists = Customer::where('name', 'like', "%$q%") 
     ->orderBy('name')->paginate('5'); 
    return view('customer._customer_list') 
     ->with('lists', $lists); 

} 

и это вид _customer_list.blade.php

<tbody> 
     @foreach ($lists as $key => $list) 
      <tr> 
       <td> 
        {{ $list->name }} 
       </td> 
       <td> 
        <button data-dismiss="modal" class="btn btn-warning btn-xs btn-choose" 
         type="button" data-id="{{ $list->id }}" data-name="{{ $list->name }}">Pilih</button> 
       </td> 
      </tr> 
     @endforeach 
    </tbody> 
</table> 
{!! $lists->appends(Request::except('page'))->render() !!} 

это мой маршрут

Route::get('/customer/list/', '[email protected]'); 

когда я открываю LOCALHOST/клиента/список он работал

но когда я пытаюсь перейти к другому виду, как это

@section('content-modal') 
@include('purchase.modal_picklist', [ 
    'name' => 'customer', 
    'title' => 'Daftar Customer', 
    'placeholder' => 'Cari customer berdasarkan nama', 
]) 
@endsection 

@section('content-js') 
@include('customer._customer_list') 
<script> 
    CreatePicklist('customer', '/customer/list?'); 
</script> 
@endsection 

с маршрутом, как этот маршрут :: получить ('/ клиента/добавить', 'CustomerController @ создать');

я получил ошибку:

Undefined variable: lists (View: /srv/web/resources/views/customer/_customer_list.blade.php) (View: /srv/web/resources/views/customer/_customer_list.blade.php)

ответ

0

Undefined variable: lists (View: /srv/web/resources/views/customer/_customer_list.blade.php) (View: /srv/web/resources/views/customer/_customer_list.blade.php)

Эта ошибка означает, что с вашей точки зрения (в цикле Еогеасп) лезвие не может получить список переменных.

Попробуйте вынести вид с приданием параметра в качестве второго аргумента, то, как показано ниже

public function picklist(Request $request) 
{ 
    $q = $request->q; 
    $lists = Customer::where('name', 'like', "%$q%") 
     ->orderBy('name')->paginate('5'); 
    return view('customer._customer_list', ['lists' => $lists]); 
} 

Надеются, что это работает для вас :)

+0

ив попробовать, но она по-прежнему дает ошибку undifined переменной. –

+0

Конечно, вы получите сообщение об ошибке, потому что когда вы включаете @include ('customer._customer_list') в другое клинок, вы не передаете какой-либо параметр ** клиенту ** клиенту_customer_list **. вам необходимо передать ** list ** переменную с чем-то вроде ** @ include ('customer._customer_list', [ 'lists' => "your list"]); ** –

+0

Я пробую вот так, @section (' content-js ') @include (' customer._customer_list ', [' lists '=> "lists"]) @endsection , но я получаю ошибки Недействительный аргумент для Еогеаспа() (Вид: /srv/web/resources/views/customer/_customer_list.blade.php) –