0
ID로 enum에서 문자열을 가져 오는 것과 관련된 문제가있었습니다.Yajra Datatable는 ID로 문자열을 얻습니다.
<script type="text/javascript">
$(document).ready(function(){
var datatable = $('#datatable').DataTable(
{
dom: "lrtip",
responsive: true,
processing: true,
serverSide: true,
bSortCellsTop: true,
ajax: {
url: "{{ route('driver.list') }}",
data: { '_token' : '{{csrf_token() }}'},
type: 'POST',
},
columns: [
{ data: 'first_name', name: 'first_name', className: 'text-center', },
{ data: 'last_name', name: 'last_name', className: 'text-center', 'visible': false,
'searchable': false, },
{ data: 'gender', name: 'gender', className: 'text-center', },
{ data: 'race', name: 'race', className: 'text-center', 'visible': false,
'searchable': false, },
{ data: 'email', name: 'email', className: 'text-center', },
{ data: 'mobile', name: 'mobile', className: 'text-center', },
{ data: 'nric', name: 'nric', className: 'text-center', },
{ data: 'date_of_birth', name: 'date_of_birth', className: 'text-center', 'visible': false,
'searchable': false, },
{ data: 'license', name: 'license', className: 'text-center', },
{ data: 'type', name: 'type', className: 'text-center', 'visible': false,
'searchable': false, },
{ data: 'action', name: 'action', className: 'text-center', orderable: false, searchable: false },
],
initComplete: function() {
this.api().columns().every(function() {
$('#datatable thead tr#filterRow th:not(:last-child)').each(function() {
var title = $('#datatable thead th').eq($(this).index()).text();
$(this).html('<input type="text" class="col-md-12" placeholder="Search by '+title+'" />');
if (title == "Gender") {
var select = $('<select>');
var genderList = {!! json_encode($genderList) !!};
for (var i = 0;i < genderList.length; i++) {
option = $('<option>',{
value: i,
text: genderList[i],
});
select.append(option);
}
$(this).html(select);
}
});
$('select').select2({
allowClear: true,
});
$("#datatable thead input,#datatable thead select").on('keyup change', function() {
console.log($(this).val());
datatable.column($(this).parent().index()).search(this.value).draw();
});
});
}
});
});
</script>
여기 내 열거 코드입니다 :
여기 내 데이터 테이블 코드의
<?php
namespace App\Helpers\Enums;
final class Gender {
const MALE = 0;
const FEMALE = 1;
public static function getList() {
return [
Gender::MALE,
Gender::FEMALE,
];
}
public static function getArray() {
$result = [];
foreach (self::getList() as $arr) {
$result[$arr] = self::getString($arr);
}
return $result;
}
public static function getString($val) {
switch ($val) {
case 0:
return "Male";
case 1:
return "Female";
}
}
}
?>
내가 ID로 열거에서 문자열을 먹고 싶어.
남성/여성을 선택할 때 데이터를 처리하지 못했습니다. 어떤 생각?
대신 변압기를 사용하지 않는 이유를 Yajra의 데이터 테이블 패키지를 사용하고, 그것은 프랙탈 잘 작동하는 경우
새로운 DriverTransformer 모델을 추가해야합니까? –
예. 당신이 붙어있어 일부 예제 코드를 던질 수 있다면 알려주세요. – haakym
해결되었습니다. 고마워. –