В настоящее время я использую наблюдателей Laravel для реализации событий в моем проекте, однако я столкнулся с некоторой проблемой, когда созданное событие возвращает неправильную запись, например, я создаю запись с именем Like, для которой post_id установлен на 2, а user_id установлен на 1 , поэтому событие создания laravel должно возвращать эту запись, верно? за исключением того, что он возвращает запись, в которой для post_id установлено значение 0, а для user_id установлено значение 1. Мой класс LikeObserver:
class LikeObserver
{
/**
* Handle the like "created" event.
*
* @param \App\Like $like
* @return void
*/
public function created(Like $like)
{
dd($like);
$postId = $like->post_id;
Post::find($postId)->increment('likes_count');
}
}
как вы можете видеть, всякий раз, когда я выгружаю только что созданную запись, она возвращает следующее:
мой класс LikeController:
class LikeController extends Controller
{
public function insert(Request $request)
{
if(Like::where('user_id','1')->find($request->post_id))
{
return;
}
$like = Like::create(['post_id'=>$request->post_id,'user_id' => '1']);
}
public function remove(Request $request)
{
Like::where('user_id',auth()->user()->id)->findOrFail($request->post_id)->delete();
}
}
Я передаю post_id со значением 2, однако Laravel возвращает только что созданную запись с post_id со значением 0.
dd($request->post_id)
в функции вставки? - person am05mhz   schedule 26.12.2019