2017-03-09 50 views
1

在我的網站上,用戶可以回覆狀態。將最近保存的數據從控制器發送到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響應將是「測試」。所以它看起來不像那個工作。

+0

你有'id'作爲狀態表的自動增量嗎? 'Model :: create()'總是返回創建的對象。還嘗試返回'回覆'並查看其內容。也許你的主人有不同的名字? – EddyTheDove

+0

「id」表確實是自動遞增的。奇怪的是,當我返回response() - > json($ reply)時,它會從該行返回EVERYTHING,包括id。我不知道爲什麼返回響應() - > JSON($ ID)不工作... –

+0

試圖限制這樣。 'return response() - > json($ reply-> id);'。請不要忘記標記我的答案。謝謝:) – EddyTheDove

回答

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

您可以返回$ id或直接返回對象本身。

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

只是console.log()的反應,看看有什麼您返回,並使用它。

+0

添加了對我的信息的更新。 $回覆 - > ID似乎沒有返回任何東西。 –