Adquiere este curso para tener acceso a todas las lecciones
Comprar curso8. Mostrar mensajes
1 comentarios
Inicia sesión para comentar
Comentarios:
-
Gerald Flores Pomari hace 5 meses
Hola Victor, tengo el siguiente error en la validación Illuminate\Validation\Factory::make(): Argument #3 ($messages) must be of type array, null given, called in C:\xampp\htdocs\laravel\webSockets\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php on line 361 Mi codigo de la validación public function save(){ $this->validate([ 'content' => 'required|min:3', ]); Message::create([ 'content' => $this->content, 'user_id' => auth()->id() ]); //limpiar contenido $this->content = ''; $this->getMessages(); }-
Bernal Fuentes hace 4 días
<?php
namespace App\Livewire;
use App\Events\MessageSend;
use App\Models\Message;
use Livewire\Component;
use Livewire\Attributes\On;
class ManageMessages extends Component
{
public $content = '';
public function mount()
{
//
}
public function getMessagesProperty()
{
return Message::with('user')->latest()->get();
}
public function save()
{
$this->validate([
'content' => 'required|min:5|max:500',
]);
Message::create([
'user_id' => auth()->id(),
'content' => $this->content,
]);
$this->content = '';
MessageSend::dispatch();
session()->flash('message', 'Mensaje enviado correctamente!');
}
#[On('echo:chat,MessageSend')]
public function refreshMessages()
{
// Este método se ejecutará cuando se reciba el evento MessageSend
// Livewire automáticamente re-renderizará el componente
$this->render();
}
public function getMensajes()
{
return Message::with('user')->latest()->get();
}
public function sendMessage()
{
$this->validate([
'content' => 'required|min:1|max:500',
]);
Message::create([
'user_id' => auth()->id(),
'content' => $this->content,
]);
$this->content = '';
}
public function render()
{
return view('livewire.manage-messages', [
'mensajes' => $this->getMensajes()
]);
}
}
-
Bernal Fuentes hace 4 días
Es por esto: $this->getMessages(); luego se cambio
-