Laravel在事件中回显和关系错误的数据

时间:2017-01-15 14:29:08

标签: php laravel laravel-5.3

我的问题是,我似乎无法返回一条新创建的记录,并将其与事件关联起来。

我有这种商店方法。

public function store(Request $request){
$post = new Post($request->all());
$post->user_id = Auth::user()->id;
$post->save();

$createdPost = Post::with('owner')->findOrFail($post->id);
event(new PostCreatedEvent($createdPost));
return $createdTicket;
}

现在我希望这会返回像

这样的数据
{
"post": {
"id": 10,
"title": '"hello",
"body": "world",
"user_id": 1,
"created_at": date,
"updated_at": date,
"owner": {
        "id": 1,
        "name": "name",
        "email": "email@example.com"
    }
  }
}

我确实从商店方法的返回中得到了这个。 但是如果被发送到推送器我得到了这个

{
    "post": {
        "id": 10,
        "title": '"hello",
        "body": "world",
        "user_id": 1,
        "created_at": date,
        "updated_at": date,
    }
}

我的问题是为什么事件会在将所有者数据发送到推送器之前将其删除,以及如何解决它。

1 个答案:

答案 0 :(得分:0)

似乎数据到达事件类时会发生一些事情。在无法解决之后,我尝试了一些随机解决方案。

$createdPost = Post::with('owner')->findOrFail($post->id)->toJson();

这就是诀窍。我现在需要json在前端解析它,但所有数据都将通过。