23 octubre, 2024
Aprende a gestionar las interacciones de los usuarios en tu blog Laravel incrementando y decrementando vistas y likes. Descubre cómo optimizar tu tabla posts para mejorar la experiencia del usuario y aumentar la interacción.
Suscríbete a nuestro canal en Youtube
SuscríbirseAquí tienes un ejemplo de contexto para una aplicación de blog que utiliza una tabla de posts
, donde aplicamos el incremento y decremento de las columnas views
y likes
en Laravel.
Imagina que estás desarrollando una aplicación de blog llamada "BlogSpot", diseñada para compartir contenido y fomentar la interacción entre los usuarios. Esta plataforma permite a los usuarios publicar artículos, y otros usuarios pueden interactuar con esos artículos mediante "likes" y "vistas". En este artículo, aprenderás cómo optimizar la tabla de la base de datos para almacenar los posts, y cómo implementar funciones para incrementar y decrementar las columnas de views
y likes
.
posts
id | title | content | views | likes | created_at | updated_at |
---|---|---|---|---|---|---|
1 | "Aprendiendo Laravel" | "Contenido del post" | 100 | 20 | 2024-01-01 10:00:00 | 2024-01-01 10:00:00 |
2 | "Introducción a PHP" | "Contenido del post" | 150 | 30 | 2024-01-02 11:00:00 | 2024-01-02 11:00:00 |
3 | "JavaScript Avanzado" | "Contenido del post" | 200 | 15 | 2024-01-03 12:00:00 | 2024-01-03 12:00:00 |
Cada vez que un usuario visualiza un post, el número de views
se incrementa. Esto no solo ayuda a entender qué contenido es más popular, sino que también puede mejorar tu posicionamiento en los motores de búsqueda, ya que el contenido más visto es considerado relevante.
php
public function show($id)
{
$post = Post::find($id);
// Incrementar el número de vistas
$post->increment('views');
return view('posts.show', compact('post'));
}
Con esta acción, cada vez que un usuario accede a un post, el contador de vistas se incrementa en 1, lo que indica que el contenido es valioso y atractivo.
Los usuarios pueden "dar like" a los posts, lo cual es un indicador positivo de la calidad del contenido. Al implementar un botón de "like", no solo mejoramos la experiencia del usuario, sino que también enviamos señales de compromiso a los motores de búsqueda.
php
public function like($id)
{
$post = Post::find($id);
// Incrementar el número de likes
$post->increment('likes');
return redirect()->back()->with('message', '¡Gracias por tu like!');
}
Este método incrementa el número de likes
en 1 cada vez que un usuario hace clic en el botón de "like", lo que contribuye a una mayor interacción y visibilidad.
Permitir que los usuarios puedan quitar su "like" también es importante para la autenticidad. Este tipo de interacciones puede ser útil para ajustar el contenido y asegurarse de que refleja los intereses de la audiencia.
php
public function dislike($id)
{
$post = Post::find($id);
// Decrementar el número de likes, asegurando que no sea negativo
if ($post->likes > 0) {
$post->decrement('likes');
}
return redirect()->back()->with('message', 'Has quitado tu like.');
}
Este método asegura que el número de likes
no sea negativo al decrementar, manteniendo la precisión en las métricas.
En la vista del post, podrías tener botones para incrementar y decrementar los likes, lo que también mejorará la usabilidad y la interacción del usuario.
html
<h1>{{ $post->title }}</h1>
<p>{{ $post->content }}</p>
<p>Views: {{ $post->views }}</p>
<p>Likes: {{ $post->likes }}</p>
<form action="{{ route('posts.like', $post->id) }}" method="POST">
@csrf
<button type="submit">Like</button>
</form>
<form action="{{ route('posts.dislike', $post->id) }}" method="POST">
@csrf
<button type="submit">Dislike</button>
</form>
Leido 6117 veces | 0 usuarios
Código fuente no disponible.
© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024