Laravel 如何向具有不同成员角色的成员发送通知?
立即,我想按照标题中的要求提问。Laravel 如何向具有不同成员角色的成员发送通知?,laravel,Laravel,立即,我想按照标题中的要求提问。 我有这样的控制器: public function store(Request $request) { // $this->validate($request, [ 'status'=> 'required|min:1|max:2', 'subject' => 'required|min:10|max:255', 'body' => 'required|min:10|max
我有这样的控制器:
public function store(Request $request)
{
//
$this->validate($request, [
'status'=> 'required|min:1|max:2',
'subject' => 'required|min:10|max:255',
'body' => 'required|min:10|max:100000'
]);
if ($request->status == 1){
$this->validate($request, [
'email' => 'required|email',
]);
$user = User::whereEmail($request->email)->firstOrFail();
$notice = new Notice();
$notice->user_id = $user->id;
$notice->title = $request->subject;
$notice->priority = $request->priority;
$notice->body = $request->body;
$notice->status = 0;
if ($request->hasFile('featured')){
$featured = $request->featured;
$featured_new_name = time().$featured->getClientOriginalName();
$featured->move('uploads/posts', $featured_new_name);
$notice->file = 'uploads/posts/'. $featured_new_name;
}
$notice->save();
session()->flash('message', "Send Message to ".$user->name." Successful!");
Session::flash('type', 'success');
Session::flash('title', 'Message Send Success!');
return redirect()->route('adminMessage.create');
}
else {
$users = User::all();
if ($request->hasFile('featured')){
$featured = $request->featured;
$featured_new_name = time().$featured->getClientOriginalName();
$featured->move('uploads/posts', $featured_new_name);
$attachment = 'uploads/posts/'. $featured_new_name;
}
foreach ($users as $user){
$notice = new Notice();
$notice->user_id = $user->id;
$notice->title = $request->subject;
$notice->priority = $request->priority;
$notice->body = $request->body;
$notice->status = 0;
if ($request->hasFile('featured')){
$notice->file = $attachment;
}
$notice->save();
}
session()->flash('message', "Send Message to all Users Successful!");
Session::flash('type', 'success');
Session::flash('title', 'Message Send Success!');
return redirect()->route('adminMessage.create');
}
}
我在该字段中有2个状态:对于状态1,我发送所选成员(仅一个)
对于状态2,我为所有用户使用发送
$User=User::all()代码>
因此,我需要帮助以会员身份发送通知
我有会员资格表,例如:
=========================
| id | name | count |
-------------------------
| 1 | free | 200 |
| 2 | free | 200 |
| 3 | free | 200 |
| 4 | free | 200 |
如何向会员Id:2,3,4发送消息
如果它是用户
模型中的属性,您可以使用querys查找所需的一个或多个用户
/*
我使用一个开关,以防您有两个以上的通知状态需要处理
sendTo函数是在控制器中声明的用于处理这些情况的函数。
*/
开关($notice->status){
/*根据会员id查询用户以发送通知*/
案例1:
$user=user::where('membership_id',$the_membership)->first();
返回$this->sendTo($user);
案例2:
/*获取所有用户*/
$users=User::all();
返回$this->sendTo($users);
/*处理其他通知状态*/
违约:
返回$this->sendToDefault();
}
成员身份在用户表中作为外键进行关联?成员身份角色是一个模型,与用户模型有很多关系?是的,我在用户表中有外键,所以我的问题只是如何发送单独的消息,例如:$membership=membership::whereId(2,3,4)->get();您在错误的表中执行查询,如果要按用户的成员身份检索用户,则必须使用User::where('membership\u id',$the\u id)
User::where('membership\u id',$the\u id)
,如何分隔id<代码>用户::where('membership_id','2,3,4')
像这样,我已经完成了这一部分,但是我如何才能同时向成员身份=2,3,4发送通知?使用用户::where('membership_id','2,3,4')
检索具有这些成员身份的用户。用户::where('membership_id',[2,3,4])
谢谢,这个代码解决了我的问题。。。。