Formatting
Comprar curso

19. Formatting

En este tema aprenderás a trabajar con el método de columna "formatting" disponible en Laravel Livewire Tables. Te mostraremos cómo personalizar la forma en que se muestra la información en tus tablas.


4 comentarios

Inicia sesión para comentar

Comentarios:

  • David Austria

    David Austria hace 1 semana

    Para mostrar la fecha en español:

    Column::make('Fecha creación', 'created_at')
        ->sortable()
        ->format(fn($value) => Carbon::parse($value)->locale('es')->isoFormat('D-MMM-Y')),
  • Jose

    Jose hace 1 año

    Hola Victor, este tema me da este error, supongo que sera por el formato del campo pero no se donde esta el error….

    En las tablas le tengo puesto este formato a un campo ‘Fecha’:

    Column::make("Fecha", "Fecha")

                    ->sortable()

                    ->format(fn($value) => $value->format('d/m/Y')),

    ******

    En la migracion l;o tengo asi:

      $table->date('Fecha');

    *****

    Pero me da este error:

    Call to a member function format() on string

     

     

    • Victor Arana Flores hace 1 año

      El campo fecha has especificado que es una fecha en el modelo?

      De lo contrario ve al modelo y crea una propiedad de esta manera

      protected $casts = [
      	'fecha' => 'date'
      ];
    • Jose hace 1 año

      Funcionando!!! Muchas gracias

    • Jean Gaspar Gracia Gonzalez hace 1 año

      también me funciono, no sabia para que serbia esa propiedad. Muchas gracias!

  • Victor Arana Flores

    Victor Arana Flores hace 1 año

    Por defecto, el componente utilizará el valor de la columna como el valor de la celda.

    Sin embargo, puedes modificar ese valor o evitarlo por completo.

    Modificando el valor de la columna

    Si deseas modificar el valor de la columna, puedes encadenar el método format:

    Column::make('Name')
        ->format(
            fn($value, $row, Column $column) => $row->first_name . ' ' . $row->last_name
        ),
    

    Este código modificará el valor de la columna "Name" concatenando el valor de "first_name" y "last_name" de la fila correspondiente.

    Renderizando HTML

    Si deseas devolver HTML desde el método format, puedes hacerlo utilizando el método html():

    Column::make('Name')
        ->format(
            fn($value, $row, Column $column) => '<strong>'.$row->first_name . ' ' . $row->last_name.'</strong>'
        )
        ->html(),
    

    Este código renderizará el valor de la columna "Name" dentro de una etiqueta HTML <strong>, lo que lo hará aparecer en negrita en la tabla.

  • Alexander Güiza Iresis

    Alexander Güiza Iresis hace 1 año

    hola!, cómo ponerle formato a toda la fila? Gracias! 

    • Victor Arana Flores hace 1 año

      Hola Alexander, no entendí tu pregunta.

    • Alexander Güiza Iresis hace 1 año

      Me refiero a por ejemplo, cambiar el color a toda la fila dependiendo de algún valor de la celda

    • Felipe Ahumada hace 1 año

      como una fecha de vencimiento y al compararla con la fecha actual dejar el valor en rojo?