在Laravel中将最近保存的数据从控制器发送到DOM



在我的网站上,用户可以回复状态。

$reply = Status::create([
        'body' => $replyText,
    ])->user()->associate(Auth::user());
status->replies()->save($reply);

该请求是通过Ajax发送的。如果请求成功,则回复将自动在DOM上自动生成,而无需页面重定向。

这很酷,但是我也希望用户能够删除/编辑刚刚做出的答复!为此,我需要在新创建的答复状态表中的ID。

类似...

$reply = Status::create([
        'body' => $replyText,
    ])->user()->associate(Auth::user());
$status->replies()->save($reply);
$replyID = ID of the status I just saved to database;
return response()->json($replyID);

更新:

基于埃迪的响应的新代码:

        $reply = Status::create([
        'body' => $replyText,
    ])->user()->associate(Auth::user());
    $status->replies()->save($reply);
    $id = $reply->id;
    return response()->json($id);

不返回任何东西。但是,如果我做$ id =" test",则JSON响应将是"测试"。因此看起来不起作用。

$reply = Status::create(...); //returns the created object with ID
$id = $reply->id;

您可以返回$ id或简单地返回对象本身。

return response()->json($reply); //or $id

只有console.log()查看您返回并使用它的响应。

最新更新