μ’μ λ !
λ°μ΄ν° ν μ΄λΈμμ λ μ½λλ₯Ό κ²μνλ λ° λ¬Έμ κ° μμ΅λλ€. tracking_id μ΄λ§ κ²μ ν μ μμ΅λλ€. κ²μ ν λͺ¨λ μ΄μ΄ νμν©λλ€.
λ€μμ λ΄ μΏΌλ¦¬ PHP μ½λμ λλ€.
$result = Document::join('user','document.user_id','=','user.id')
->join('classification','document.classification_id','=','classification.id')
->select('document.id',DB::raw('CONCAT(document.tracking_type,"-",document.tracking_date,"-",document.tracking_seq_no) AS tracking_id'),'document.date_prepared','document.subject','classification.description as doc_class')
->orderBy('document.created_at','desc')->get();
return Datatables::collection($result)
->addColumn('check',function($record){
return '<input type="checkbox" name="check['.$record->id.']" class="checkboxes" value='.$record->id.'>';})
->addColumn('action',function($record){
return '<a href="/records/view/' . $record->tracking_id . '">View Record</a></a>';})
->addColumn('document.tracking_id',function($record){
return $record->tracking_id;})
->editColumn('document.doc_class',function($record){
return $record->doc_class;})
->addColumn('document.subject',function($record){
return $record->subject;})
->addColumn('document.date_prepared',function($record){
return date('F d, Y', strtotime($record->date_prepared));})
->make(true);
JS μ μΈ :
docstable = $('.docstable').DataTable({
processing: true,
serverSide: true,
ajax: "/ajax/docrec"
columnDefs: [
{targets:[0,1], orderable:false}
],
columns: [
{data:'check'},
{data:'action'},
{data:'tracking_id',name:'document.tracking_id'},
{data:'doc_class',name:'document.doc_class'},
{data:'subject',name:'document.subject'},
{data:'date_prepared',name:'document.date_prepared'}
]
});
PHP μ½λμμ searchColumns ()λ₯Ό μ¬μ©νμ¬ μ§μ λ λͺ¨λ μ΄μ κ²μ ν μμλ Bllim Datatablesμ κ°μ λ°©λ²μ΄ μμ΅λκΉ? κ°μ¬ν©λλ€
κΈ°λ³Έμ μΌλ‘ λͺ¨λ μ΄μμ λΉ λ₯Έ κ²μμ΄ μ§μλμ§λ§ μ‘°μΈ μΏΌλ¦¬λ₯Ό μ¬μ©νκ³ μκΈ° λλ¬Έμμ΄ λ°λͺ¨μμ μ κ°μ΄ μ€ν¬λ¦½νΈμμ μ΄λ¦μ μ μΈνλ λ°©λ²μ λͺ κ°μ§ λ³κ²½ μ¬νμ΄ μμ΅λλ€.
BTW, μ μ
λ³μ μΈ λμ 컬λ μ
μ μ¬μ©ν©λκΉ? 쿼리μμ get()
μ μ κ±°νκ³ λμ return Datatables::eloquent($result)
μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
μλ
νμΈμ !
λμκ² κΈλ‘λ² κ²μμ νμ λΉ κ²°κ³Όλ₯Ό λ°νν©λλ€. κ²μ ν λ°μ΄ν° ν
μ΄λΈμ΄ λΉμ΄ μμ΅λλ€. λͺ¨λ κ²μ μ
λ ₯μ μ κ±°νλ©΄ λͺ¨λ λ°μ΄ν°λ‘ μ±μμ§λλ€.
νμ§λ§ λ€μκ³Ό κ°μ΄ κ°λ¨ν©λλ€.
$users = $this->mainRepo->model->get();
return Datatables::of($users)->make(true);
HTTP μμ²μμ κ²μ μ
λ ₯μ λ³Ό μ μμ§λ§ ν κ²°κ³Όλ νμ λΉμ΄ μμ΅λλ€. μ μ κ²μ μ΅μ
μ νμ©νλ €λ©΄ μλ² μΈ‘μμ μμ
μ μνν΄μΌν©λκΉ? μλμ΄λΌκ³ μκ°νλλ° ...
λ°μ΄ν°λ κΈ°λ³Έμ μΌλ‘ μ λ ¬ / μ λ ¬μμ΄ $ model-> get ()μ μννλ λ΄ μ μ₯μμμ μμ±λ©λλ€. μ μ λ° μ΄ ν μ€νΈ νν°λ§μ λ§λλ κ²μΌλ‘ μΆ©λΆνλ€κ³ μκ°νμ΅λλ€. νμ§λ§ Eloquent μμ²μμ 'where'λ₯Ό μ¬μ©νλ €λ©΄ μ루μ μ ꡬνν΄μΌν©λκΉ? μλλ©΄ DataTables νν° λ°©λ²μ μ¬μ©νλ κ²μ΄ λ λμ νν°μ λκΉ? (μ무κ²λ μλμ΄ μλ κ²½μ° λͺ¨λ μλ² μΈ‘μ μνν΄μΌν©λλ€).
κ·Έλ¬λ μ΄ μμ μ μ΄ ν λͺ¨λ μλ² μΈ‘ μ²λ¦¬λ₯Ό ꡬν, μ¬μ§μ΄ μ΄ κ²μ λΉ, κΈλ‘λ² κ²μμνμ§ μμ΅λλ€ ... λλ μ±κ³΅μμ΄, λͺ¨λ μμ λ₯Ό μλ : κ²μ κ²°κ³Όλ νμ λΉμ΄, λ°μ΄ν° ν μ΄λΈμ 첫 λ²μ§Έ κ²μ λ¬Έμμ λΉμ΄ μ μΆνκ³ νν°κ° μ ν μ±μμ§μ§ μμΌλ©΄ λͺ¨λ λ°μ΄ν°λ‘ λ€μ μ±μμ§λλ€.
κΈ°λ³Έ μ§λ¬Έμ λ€μκ³Ό κ°μ΅λλ€. λͺ¨λΈ λ°μ΄ν°μμ μλ² μΈ‘ νν°λ§ / κ²μμ μν΄ ν¨ν€μ§μ ꡬν λ κ²μ΄ μμ΅λκΉ? μλλ©΄ μ¬μ©ν μμλ μ΄ μ λ ¬ λ° νμ΄μ§ λ§€κΉ λ§ μμ΅λκΉ?
μ½μ΄ μ£Όμ μ κ°μ¬ν©λλ€.
μΆμ : λ΄ # 562 λκΈμ μ°κ²°
@ mtx-z-> get ()μ νΈμΆ ν λ LDTμ κ°μ²΄ λμ 컬λ μ μ μ¬μ©νκ³ μμ΅λλ€.
$users = User::select(['id', 'name', 'email', 'password', 'created_at', 'updated_at']); //Eloquent Object
$users->all(); // Collection
Laravel Datatablesλ μλμΌλ‘-> get ()μ μννλ©° λ€μκ³Ό κ°μ κ²½μ°-> get ()μ μ¬μ©νμ§ μλ κ²μ΄ μ’μ΅λλ€.
return Datatables::of($users)->make(true);
κ·νμ μμ λ₯Ό κΈ°λ°μΌλ‘ ν νμκ° μμ΅λλ€-> get ()
$users = $this->mainRepo->model->get(); return Datatables::of($users)->make(true);
λ€λ§
$users = $this->mainRepo->model; return Datatables::of($users)->make(true);
νν°λ§ λ° κ²μμ κ΄ν μ£Όμ μ§λ¬Έμ λλ€. Laravel Datatablesλ μ΄λ―Έ κΈ°λ³Έ / μλ² μΈ‘ μ²λ¦¬λ‘ λͺ¨λ μ΄μ λν κ²μμ ꡬνν©λλ€. λν κ°λ³ μ΄ νν°λ§μ μ§μν©λλ€.
https://datatables.yajrabox.com/eloquent/basic- μ μ‘ λ ν€λ μ°Έμ‘°
https://datatables.yajrabox.com/eloquent/multi-filter-select- μ μ‘ λ ν€λ보기
@ChaosPower μλ νμΈμ.
μ루μ
μ μλνμ§λ§ μλνμ§ μμμ΅λλ€. μ€μ λ‘ $this->mainRepo->model
μ App \ Modelsμ λͺ¨λΈ μΈμ€ν΄μ€μ
λλ€. mainRepo νλͺ©μ λ°μΈλ©λμ΄ μμ§λ§ λ΄ λ¬Έμ μ κ΄λ ¨μ΄ μμ΅λλ€.
λλ (λ΄ μ μ₯μμμ) λ€μκ³Ό κ°μ΄ μ
λ°μ΄νΈνμ΅λλ€.
$query = $this->model->with($with);
$dataTable ?: $query->orderBy($orderBy, $sort);
return !$dataTable ? $query->get($columns) : $query->select($columns);
μ΄ λ°©λ²μ μ¬μ©νμ¬ λͺ¨λΈμ λͺ¨λ DataTables λ°μ΄ν°λ₯Ό κ΄λ¦¬ν©λλ€. dataTable λ³μκ° falseμ΄λ©΄ μμκ° μ μ©λμ§ μμΌλ©° select('*')
ν©λλ€.
κ²°κ΅ μ°κ²° λ©μλλ λ€μκ³Ό κ°μ΄ λ³΄μΌ μ μμ΅λλ€.
$this->model->with('relation')->select('*');
μ¬κΈ°μ $this->model
λ App\Models\User
μ
λλ€.
μ΄ μμλ μ΄μ μλ²½νκ² μλνμ§λ§ κΈ°λ³Έ ν
μ€νΈ κ²μμ μ¬μ ν ββκ²μμ μν₯μμ£Όμ§ μμ΅λλ€. λ΄ μ
λ ₯μ λ°λΌ λͺ¨λ κ²°κ³Όκ° νμλμ§ μμ΅λλ€.
λ΄κ° λ μλͺ» νλ?
μ¬κΈ°μ λ΄ κ²μ μ
λ ₯μ΄ νμλμ§λ§ 'λ΄ κ²μ κ°'μ
λ ₯μ΄ μ무κ²λ λ°ννμ§ μλλΌλ λ΄ 3 λͺ
μ μ¬μ©μκ° λͺ¨λ λ°νλ©λλ€.
λΉμ μ λμμ λ§μ΄ Thx
λλ λ§μΉ¨λ΄ κ·Έκ²μνλ€ :) ty
λν κ°μκΈ° κ΄κ³λ₯Ό κ²μ ν μ μμ΅λλ€. $ this-> model-> with ( 'relation')-> select ( '*');
mtx-z μ루μ
μ 곡μ ν μ μμ΅λκΉ?
μΌ. λ΄κ° μ¬μ©ν μ½λλ λμκ² κ³ μ νμ΅λλ€.
this-> modelμ λ΄ λͺ¨λΈμ μΈμ€ν΄μ€λ₯Ό ν¬ν¨ν©λλ€.
μ½λλ₯Ό μ 곡 ν μ μμ΅λκΉ?
\\ In controller
$result = MsCustomer::with('company')->select('ms_customers.*');
return Datatables::of($result)->make(true);
\\ In view
$('#data-table').DataTable({
ajax: '{!! route('master.customer.data') !!}',
columns: [
{ data: 'id', name: 'id' },
{ data: 'code', name: 'code' },
{ data: 'name', name: 'name' },
{ data: 'email', name: 'email' },
{ data: 'company.name', name: 'company.name' },
]
});
λ°μ΄ν° ν
μ΄λΈ μ€ν λ° νμ λ°μ΄ν°μλ company.name
κ΄κ³κ° ν¬ν¨λμ§λ§ κ΄κ³λ₯Ό κ²μ ν μ μμ΅λλ€. μ΄ λ°λͺ¨ μ λΉμ·ν μ½λκ° μ΄λ―Έ
$ table = 'ms_customers'λ‘ μ μΈ λ MsCustomer λͺ¨λΈκ³Ό MsCustomer λͺ¨λΈ λ΄λΆμ 'company'κ΄κ³λ μμ΅λλ€. κ·Έλ° λ€μ ν μ΄λΈ μ΄λ¦μ΄ 'ms_companies'μΈ MsCompany λͺ¨λΈμ λλ€.
μμ΄λ, μ½λ, μ΄λ¦, μ΄λ©μΌμ κ²μ ν μ μμ§λ§ 'company.name'κ΄κ³λ κ²μ ν μ μμ΅λλ€. μμ μ½λμ λ¬Έμ κ° μμ΅λκΉ?
@maengkom κ³Ό λμΌν λ¬Έμ κ°
컨νΈλ‘€λ¬μμ
$agenda = AgendaMasuk::with('surat')
->whereNotNull('surat_id')->where('group_id', $group->id)
->select('agenda_masuks.*');
return Datatables::of($agenda)->make(true);
보기μ
var table = $('#surats').DataTable({
"jQueryUI" : true,
"paging" : true,
"lengthMenu" : [ 5, 10, 25, 50, 75, 100, "All" ],
"autoWidth" : false,
"stateSave" : false,
"order" : [[ 0, 'asc' ]],
"processing" : true,
"scrollX" : true,
"serverSide" : true,
"ajax": {
"url": $('#surats').data('url'),
"type": "POST"
},
"columns": [
{
className: 'text-center',
data: 'no_agenda',
name: 'agenda_masuks.no_agenda'
},
{
className: 'text-center',
data: 'surat.no_surat',
name: 'surat.no_surat'
},
{
className: 'text-center',
data: 'tanggal',
name: 'agenda_masuks.tanggal'
},
{
data: 'surat.sifat',
name: 'surat.sifat',
sortable: false
},
{
data: 'surat.pengirim',
name: 'surat.pengirim'
},
{
data: 'surat.tujuan',
name: 'surat.tujuan'
},
{
data: 'surat.ringkasan',
name: 'surat.ringkasan',
sortable: false
},
{
data: null,
defaultContent: '-',
name: 'disposisi',
searchable: false,
sortable: false
},
{
data: null,
defaultContent: '-',
name: 'file',
searchable: false,
sortable: false
}
]
});
@maengkom κ°μ λ¬Έμ κ° μμ΅λλ€. κ°μ²΄ κ°κ³Ό κ΄κ³ κ°μ λν μ μ κ²μμ μ¬μ©ν μ μμμ΅λλ€ (ID λ§).
μλ₯Ό λ€μ΄ λ΄ λͺ¨λ λͺ¨λΈμλ "translation_model"μ΄ μ°κ²°λμ΄ μμ΅λλ€. Wichλ κ³΅κ° ν
μ€νΈ λ§ ν¬ν¨ν©λλ€. λ΄ λ°μ΄ν° ν
μ΄λΈμ λ²μ μ΄λ¦μ μλμΌλ‘ κ²μ ν μ μμ΅λλ€.
μ΄λ₯Ό μμ νκΈ° μν΄ ajax νΈμΆμ νΈμ§νμ¬ μΌλΆ λ§€κ° λ³μ (ν
μ€νΈ κ²μ, κ° μ ν ...)λ₯Ό μΆκ°νκ³ μ΄ κ°μ μ¬μ©νμ¬ Datatableμ 보λ΄κΈ° μ μ μ
λ³μ μΈ μΏΌλ¦¬λ₯Ό νν°λ§νμ΅λλ€.
μ¬κΈ°μμ 무μμ΄λ νν°λ§ ν μ μμ΅λλ€ (μ€μ μ¬λ‘μ κ²½μ° "translations.name = 'search_value'"κ° μ μ°½νκΈ° λλ¬Έμ "λ°λ©΄ λ²μ"μ΄μλ "μμΉ"μ
λλ€.
@nsetyo λ°ν λ 컬λ μ μ νμΈ νμ΅λκΉ? 컬λ μ μ λ°μ΄ν°κ° λ°μ΄ν° ν μ΄λΈμ νμν κ²κ³Ό μΌμΉν©λκΉ?
@ mtx-z κ·Έλ μ΅λλ€. λμ μ‘°μΈ μΏΌλ¦¬λ₯Ό μ¬μ©νμ¬ μμλ‘ μμ ν©λλ€.
@nsetyo @ mtx-z μμ μλ μ΄λ―Έ κ²μ κ΄κ³μ λ²κ·Έκ° μμμ νμΈνμ΅λλ€. μ΄κ²μ νμΈνμμμ€ https://github.com/yajra/laravel-datatables/issues/698
λλ κ·Έκ²μ κ³ μΉλ λ° λμμ μ£Όλ €κ³ λ Έλ ₯νκ³ μκ³ μ¬μ ν ν¨ν€μ§ λ΄λΆμ νν°λ§ λ°©λ²μμ μ½λλ₯Ό λ°°μ°κ³ μμ§λ§ μ¬μ ν μμ ν΄μΌ ν κ³³μ νΌλμ€λ½κ²ν©λλ€ .π
μ΄μ λͺ¨λ κ²μ νλκ° μλνμ§λ§ λ¬Έμ κ° νλ λ¨μμ΅λλ€. yajra (μμ μ)μ μ 곡λ λ°λͺ¨ λ₯Ό κΈ°λ°μΌλ‘ ν μ΄λΈμ λ§λ λ μ§ λ°
μ : (κΈ°λ³Έ λ μ§ λ° μκ° νμμ΄ νμλ¨)
2016-08-23 14:37:25
λλ κ·Έκ²μ λ€μκ³Ό κ°μ΄ νμννλ€.
2016 λ
8 μ 23 μΌ μ€ν 02:37:25
date('F d, Y h:i:s a',strtotime($the_given_date_and_time));
ν¬λ§· ν λ°μ΄ν° ν μ΄λΈμ΄ ν΄λΉ νλλ₯Ό κ²μ ν μ μμ΅λλ€.
filterColumn
apiλ₯Ό μ¬μ©νμ¬ νμλ νλͺ©κ³Ό μΌμΉνλλ‘ λ μ§ μ΄μ κ²μνλ κΈ°λ³Έ SQLμ μ¬μ μ ν μ μμ΅λλ€.
https://datatables.yajrabox.com/eloquent/joins κ° μλν©λλ€.
addcolumnμ κ²½μ° κ²μ κ°λ₯ν΄μΌν©λλ€.
κ°μ₯ μ μ©ν λκΈ
@ChaosPower μλ νμΈμ.
μ루μ μ μλνμ§λ§ μλνμ§ μμμ΅λλ€. μ€μ λ‘
$this->mainRepo->model
μ App \ Modelsμ λͺ¨λΈ μΈμ€ν΄μ€μ λλ€. mainRepo νλͺ©μ λ°μΈλ©λμ΄ μμ§λ§ λ΄ λ¬Έμ μ κ΄λ ¨μ΄ μμ΅λλ€.λλ (λ΄ μ μ₯μμμ) λ€μκ³Ό κ°μ΄ μ λ°μ΄νΈνμ΅λλ€.
$query = $this->model->with($with);
$dataTable ?: $query->orderBy($orderBy, $sort);
return !$dataTable ? $query->get($columns) : $query->select($columns);
μ΄ λ°©λ²μ μ¬μ©νμ¬ λͺ¨λΈμ λͺ¨λ DataTables λ°μ΄ν°λ₯Ό κ΄λ¦¬ν©λλ€. dataTable λ³μκ° falseμ΄λ©΄ μμκ° μ μ©λμ§ μμΌλ©°
select('*')
ν©λλ€.κ²°κ΅ μ°κ²° λ©μλλ λ€μκ³Ό κ°μ΄ λ³΄μΌ μ μμ΅λλ€.
$this->model->with('relation')->select('*');
μ¬κΈ°μ$this->model
λApp\Models\User
μ λλ€.μ΄ μμλ μ΄μ μλ²½νκ² μλνμ§λ§ κΈ°λ³Έ ν μ€νΈ κ²μμ μ¬μ ν ββκ²μμ μν₯μμ£Όμ§ μμ΅λλ€. λ΄ μ λ ₯μ λ°λΌ λͺ¨λ κ²°κ³Όκ° νμλμ§ μμ΅λλ€.
λ΄κ° λ μλͺ» νλ?
μ¬κΈ°μ λ΄ κ²μ μ λ ₯μ΄ νμλμ§λ§ 'λ΄ κ²μ κ°'μ λ ₯μ΄ μ무κ²λ λ°ννμ§ μλλΌλ λ΄ 3 λͺ μ μ¬μ©μκ° λͺ¨λ λ°νλ©λλ€.
λΉμ μ λμμ λ§μ΄ Thx