如何对多对多数据表 followers 使用模型观察事件?$this->followings ()->sync ($user_ids, false) 无法触发 created?
通过user_user构建了数据表followers,models里也有follower,但是对Follower使用Observer事件无效。
<?php
namespace App\Observers;
use App\Models\Follower;
// creating, created, updating, updated, saving,
// saved, deleting, deleted, restoring, restored
class FollowerObserver
{
public function created(Follower $follower)
{
$user = $follower->user;
$user->increment('follower_count', 1);
$user = $follower->follower_user;
$user->increment('following_count', 1);
}
public function deleted(Follower $follower)
{
$user = $follower->user;
$user->increment('follower_count', -1);
$user = $follower->follower_user;
$user->increment('following_count', -1);
}
}
public function follow($user_ids)
{
if (!is_array($user_ids)) {
$user_ids = compact('user_ids');
}
$this->followings()->sync($user_ids, false);
}
public function unfollow($user_ids)
{
if (!is_array($user_ids)) {
$user_ids = compact('user_ids');
}
$this->followings()->detach($user_ids);
}
推荐文章: