2016-11-21 65 views
1

更新id似乎不可能(DB:mysql)。更新回送模型的id值

我嘗試以下PUT請求:

PUT http://localhost:3000/api/company/google 
{ 
    "name":"alphabet" 
} 

響應:

"error": { 
    "name": "Error", 
    "status": 400, 
    "message": "id property (undefined) cannot be updated from undefined to undefined", 
    "statusCode": 400, 
    "stack":"....etc" 
} 

如果無法通過內置的REST API我該怎麼辦呢?我可以使用節點API服務器端更新模型的ID嗎?

一直試着這兩天,沒有運氣。 謝謝。

+0

你的公司模型的屬性idInjection設置爲false嗎?你是否也爲你定義了'id'屬性? –

+0

首先抱歉的回覆晚了,我發現idInjection被設置爲false,第二個方法是POST方法,它是PUT請求, 即使我將idInjection更改爲true。仍然出現同樣的錯誤, –

+0

名稱當前設置爲ID, –

回答

2

我不認爲有可能更新模型的實例的ID,因爲這將打破所有關係到這個實例。

看這個post表示模型的關鍵不應該被改變MySQL表

話雖這麼說,我不認爲你真的需要在您的情況來更新您的ID。保留idInjection爲假,並且不要爲name設置id

則可以執行這個請求

POST http://localhost:3000/api/company/update?where[name]=Google

{ 
    "name": "alphabet" 
} 

這是有幫助嗎?