2017-12-29 48 views
0

multitables 인라인 편집 및 사용 자동 완성을 datatables 셀 vendor_id을 편집 가능하게 만들고 자동 완성 기능을 사용하여 현재 데이터를 채우거나 편집하십시오. 내가 테이블이 예처럼 편집 할 수 원하는 https://editor.datatables.net/examples/inline-editing/simpleLaravel-는 임 DataTable을 사용하여, 나는 데이터를 포함하는 테이블을, 테이블 <strong>확인</strong>이 <strong>공급 업체가</strong>가 내가 클릭시 바로 원하는 다른 테이블과의 관계가 나는 복잡한 문제가

my table screenshot

확인 테이블 :

자세한

공급 업체 테이블을 VENDOR_ID

설명 :

을 VENDOR_ID

지금은 공급 업체의 이름이 데이터 테이블에 나타납니다하지만 잘 모릅니다

VENDOR_NAME 이유는 내부의 브래킷과 ""[{ "VENDOR_NAME": "라울"}]를 모든 I 단지 VENDOR_NAME를 표시하고 자동 완성을 사용하여 편집하고

  var oTable = $('#users-table').DataTable({ 
      dom: 'flBrtip', 
      stateSave: true, 
      paging:  true, 
      pagingType: 'simple_numbers', 
      processing: true, 
      serverSide: true, 
      ajax: { 
       url: 'custom-filter-data', 
        data: function(d) { 
          d.start_date = $('input[name=start_date]').val(); 
          d.end_date = $('input[name=end_date]').val(); 
         } 
         }, 
     columns : [ 
     {data: 'details', name: 'details'}, 
      {data: 'description', name: 'description'}, 
      {data: 'vendor_id',name:'vendor_id'}, 
      {data: 'category_id',name: 'category_id'}, 
     ], 
     pageLength: 10, 

     }); 
    oTable.draw(); 
아약스

하지 공급 업체 이름

을 VENDOR_ID 저장하여 확인 테이블에 저장을 할3210

컨트롤러는 하나의 열 (VENDOR_NAME)는 다음과 같이 쓰기를 원하는 경우에 당신은 반환 ->get(); 및 배열에 따라서 [] 을 사용하고

public function getCustomFilterData() 
    { 
    $arrStart = explode("/", Input::get('start_date')); 
     $arrEnd = explode("/", Input::get('end_date')); 
     $start = Carbon::create($arrStart[2], $arrStart[0], $arrStart[1], 0, 0, 0); 
     $end = Carbon::create($arrEnd[2], $arrEnd[0], $arrEnd[1], 23, 59, 59); 

    $orders = Checks::between($start, $end); 
    return Datatables::of($orders)->editColumn('vendor_id', function ($user) 
    { 
     $vendor =Vendors::select('vendor_name')->where('vendor_id',$user->vendor_id)->get(); 
    return ($vendor); 
    }) ->make(TRUE); 
    } 
+0

그것은'whereBetween()'대신''() 사이에 있어야하지 않나요? –

+0

날짜가 문제없이 잘 작동하지만 사이에 soe가 작동하지만 datatable을 편집 가능하게 만들고 셀에 자동 완성 기능이 있는지 묻는 메시지 –

답변

0

.

$vendor =Vendors::where('vendor_id',$user->vendor_id)->first(); 
return $vendor ? $vendor->vendor_name : ''; 

GET 먼저 차이를 설명 : https://laravel.com/docs/5.5/queries#retrieving-results

+0

$ vendor = 공급 업체 :: where ('vendor_id', $ user-> vendor_id) -> first(); return (@ $ vendor-> vendor_name); –

+0

그게 실제로 더 좋은 방법입니다. –

+0

다른 문제는 어떻습니까? –