[英]How to send message to selected user with their name laravel
我正在尝试用他们的名字向选定的用户发送消息。 所以假设我有两个用户 Ethan 和 Calvin,那么消息应该像 User1:(Hi, Ethan), User2:(Hi, Calvin) 一样开始。 到目前为止,每个用户的消息就像 (Hi, Ethan,Calvin)。 我怎样才能解决这个问题?
刀
<form action="{{ route('mes.users') }}" method="POST">
@foreach($users as $user)
<textarea name="message"></textarea>
<input type="checkbox" name="phone[]" @if(!old() || old('phone') == 'true') @endif value="
{{ $user->phone }}">
<input type="checkbox" name="name[]" value="{{ $user->name }}"/>
<button type="submit" class="btn btn-primary">
send Message
</button>
@endforeach
</form>
Controller
public function message(Request $request)
{
$message = $request->input('message');
$postData = $request->all();
foreach ($postData['phone'] as $index => $value) {
$postData['phone'][$index] = Str::replaceFirst('1', '965', $value);
}
foreach ($postData['name'] as $index => $names) {
$postData['name'][$index] = $names;
}
$phone_number = implode(',', $postData['phone']);
$name = implode(',', $postData['name']);
$send_message = new MyHelper();
$message = "Hi, $name $message";
$send_message->sendMessage($phone_number, $message);
return 'success';
}
看起来你的姓名和电话也有问题,向$phone_number
发送消息,看起来像这样965XXXX,965XXXX,...
,试试这个
$send_message = new MyHelper();
// assuming that $postData['name'] and $postData['phone'] have the same size
foreach ($postData['name'] as $index => $name) {
$phone = Str::replaceFirst('1', '965', $postData['phone'][$index])
$send_message->sendMessage($phone, "Hi, {$name} {$message}");
}
// this will send a message to the each phone number with corresponding user name
// (965XXXX,Ethan) and (965XXXX, Calvin)
完整的代码将是
public function message(Request $request)
{
$message = $request->input('message');
$postData = $request->all();
$send_message = new MyHelper();
foreach ($postData['name'] as $index => $name) {
$phone = Str::replaceFirst('1', '965', $postData['phone'][$index])
$send_message->sendMessage($phone, "Hi, {$name} {$message}");
}
return 'success';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.