我正在使用Laravel 7并试图制造一个自动化系统。
要发送信件,我必须能够选择一些接收者。
如您所见,我有recieve_id
。
我可以获取ID,但是我不知道如何在数据库中保存ID。
这是我的选择:
<select class="col-12 border mt-2 pt-2" multiple="multiple" name="recieve_id[]">
@foreach($users as $user)
<option value="{{ $user->id }}">{{ $user->name }}</option>
@endforeach
</select>
这是我的控制器:
Letter::create([
'indicator_id' => $request['indicator_id'],
'sender_id' => auth()->user()->id,
'recieve_id' => $request['recieve_id'],
'title' => $request['title'],
'image' => 'default.png',
'description' => $request['description'],
'date' => $request['date'],
'text' => $request['text'],
]);
return redirect(route('Letter.index'));
编辑:
编辑2:
这是我的字母故事功能: Destory Function
答案 0 :(得分:0)
如果我对您的问题的理解正确,则您在控制器中编写的代码无法正常运行或无法创建数据库条目。是吗?
如果是,那么您能为我提供用于Letter的表结构以及为该特定表编写的迁移吗?
我不确定,但是似乎您正在传递数组$reciever_id
而不是字符串和/或JSON字符串。
此外,如果将您提供的屏幕快照中的表格用作日志,那么我建议循环访问$receiver_id
,并在可能的情况下为每个接收者单独输入一个条目。我认为这可能是更好的方法。
编辑: 阅读您的评论后,我正在修改我的答案,如下所示: 在这种情况下,您应该使用如下的foreach循环来处理请求:
$receiver_ids = $request->receive_ids
foreach($receiver_ids as $receiver_id)
{
Letter::create([
'indicator_id' => $request['indicator_id'],
'sender_id' => auth()->user()->id,
'recieve_id' => $receiver_id,
'title' => $request['title'],
'image' => 'default.png',
'description' => $request['description'],
'date' => $request['date'],
'text' => $request['text'],
]);
}
将此代码放在您的控制器中。让我知道。