Laravel Livewire обрабатывает данные, но не передает их повторно

#laravel #laravel-livewire

Вопрос:

Сегодня я начинаю с Laravel Livewire — очень простых вещей.

Я пытаюсь сделать базовое увеличение «нравится» в сообщении в блоге. Отметки «Нравится» увеличиваются, но компонент не меняется. Мне нужно обновить страницу, чтобы увидеть нового графа.

blog-detail.blade.php:

 @extends('layouts.frontend')
@section('content')
<section class="container journal-detail">
    <div class="row">
        <div class="col-12 featured">
            <div class="row">
                <div class="offset-sm-2 col-sm-8">
                    <span class="date d-block">{{ $blog->created_at->toFormattedDateString() }} by {{ $blog->user->name }}</span>
                    <h2 class="text-center">{{ $blog->title }}</h2>
                    @livewire('likes', [
                        'blog_id' => $blog->id, 
                        'likes' => $blog->likes
                    ])
                    <img src="{{ asset('storage/blogs/' . $blog->featured_image) }}" class="img-fluid featured-img" alt="{{ $blog->title }}">
                    {!! $blog->description !!}
                </div>
            </div>
        </div>
    </div>
</section>
@endsection
 

livewire/likes.blade.php

 <div>
  <button wire:click="increment" class=""><i class="fal fa-thumbs-up"></i></button>
  {{ $likes }}
</div>
 

Livewire/Likes.php

 <?php

namespace AppHttpLivewire;

use AppModelsBlog;
use LivewireComponent;

class Likes extends Component
{
   public $blog_id;
   public $likes;

   public function render()
   {
      return view('livewire.likes');
   }

   public function mount($blog_id, $likes)
   {
       $this->blog_id = $blog_id;
       $this->likes = $likes;
   }

   public function increment()
   {
       $blog = Blog::find($this->blog_id);
       $blog->likes  ;
       $blog->save();
       return;
   }
 }
 

Комментарии:

1. В любой момент ваша $this->likes информация обновляется. Вы пробовали $this->likes = $blog->likes; , когда вы увеличиваете?

2. Спасибо, что работает!