2017-01-29 2 views
1

データベースにレコードを挿入するためのコードがあります。これをした後、新しいレコードのIDをクライアントに渡す必要があります。エクトレコードをリロードする方法は?

msg_record = %Message{ 
    fromEmail: params["fromEmail"], 
    body: params["body"], 
    room: room_id 
    } 
    Repo.insert!(msg_record) 

は問題があり、これを実行した後msg_record.idはまだnullです。

私は何かするでしょうmsg_record.reload.id - いくつかの同等の方法はありますか?

答えて

2

私はドキュメントで十分に見えなかったと思います。

これはHexDocs on Ectoに見出される:

IEX>天候=%天気{temp_lo:0、temp_hi:23}!

IEX> Repo.insert(天候)

後データベースに気象を持続させると、主キー(id)が設定された%Weather {}の新しいコピーが返されます。我々は戻ってリポジトリから構造体を読み取るために、この値を使用することができます。

だから私の場合、私は単にvaraibleを再割り当てすることができます

msg_record = Repo.insert!(msg_record) 
関連する問題