我有三种型号。 User
Chat
和Message
他们有各自的表格。
这是插入的正确方法吗?
我设法将数据插入到此嵌套关系中,但我认为这不好。
用户表
id|name|email|other fields
聊天表
id|user_id|receiver_id
消息表
id|chat_id|message|created_at|updated_at|
user one to many relationship to chat
chat one to many relationship to message
$chat = new Chat;
$message = new Message;
$chat->receiver_id = request('receiver_id');
$message->message = request('message');
$user->chats()->save($chat);
$chat->messages()->save($message);
我希望数据将以更简洁的方式保存。
答案 0 :(得分:0)
很抱歉我以前的回答。这是您可以用来代替更新模型并一一指定值的单一语句:
$user->chats()->save(new Chat(['receiver_id' => request('receiver_id')]))
->messages()->save(new Message(['message' => request('message')]));
使用create()
方法,您可以进一步简化:
$user->chats()->create(['receiver_id' => request('receiver_id')])
->messages()->create(['message' => request('message')]);
希望有帮助。