繁体   English   中英

如何使用他们的名字 laravel 向选定的用户发送消息

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM