Search code examples
phplaraveldatatables

laravel @if in datatables column


i have delete column that has delete button, i tried use @if ... @endif but the value is returning false

@if(' + data.name +' == "Admin")<a class="ml-1 btnid delete-button btn btn-outline-danger" href="javascript:void(0)" data-bs-toggle="modal" data-bs-target="#modal-small2">Delete </a> @endif

the data.name output is Admin but why the button didnt show ? any mistake for the format ?

this is the full script

<script>
    $(document).ready(function() {
    $('#example').DataTable({
        ajax: {
          url:"{{ route('DTuser') }}",
          dataSrc:""
        },
        columns : [
            { "data": "id" },
            { "data": "name" },
            { "data": "email" },
            { "data": "noktp" },
            { "data": "nohp" },
            {
                "data": null,
                "render": function (data, type, row) {
                    return '<a href="/profile/'+ data.id +'"><button class="delete-button btn btn-outline-warning">Edit</button></a> @if('data.name' == "Admin")<a class="ml-1 btnid delete-button btn btn-outline-danger" href="javascript:void(0)" data-bs-toggle="modal" data-bs-target="#modal-small2">Delete '+ data.name +'</a> @endif <a class="ml-1 btnid delete-button btn btn-outline-danger" onclick="myFunction(this)" data-id="'+ data.id +'" data-name="'+ data.name +'" href="javascript:void(0)" data-bs-toggle="modal" data-bs-target="#modal-small">Delete '+data.name+'</a>';
                }
            }
        ]
    });
});
</script>

Solution

  • i make this for good practice code

    {
                        "data": null,
                        "render": function(data, type, row) {
                            var editButton = '<a href="/profile/' + data.id + '"><button class="delete-button btn btn-outline-warning">Edit</button></a>';
                            var deleteButton = '<a class="ml-1 btnid delete-button btn btn-outline-danger" href="javascript:void(0)" data-bs-toggle="modal" data-bs-target="#modal-small2">Delete</a>';
                            
                            if (data.name != "Admin") {
                                return editButton + deleteButton;
                            } else {
                                return editButton;
                            }
                        }
                    }