设置是这样的:
我有预订课程的用户/客户。课程可以是每个日期、每个地点和每个讲师的多个课程。
现在由于特定位置的不可避免的原因需要取消预订。所以我添加了一个site_closure带有location_name,start_date和的表end_date,并在控制器中更新 order_itemstatus与cancelled发布的日期的所有预订site_closure
下一步是我需要向用户/客户发送邮件,详细说明取消的课程列表。
所以在我的 site_closure 控制器创建操作中,我添加了以下代码:
public function actionCreate()
{
$model = new SiteClosure();
$st = Yii::$app->getTable;
if ($model->load(Yii::$app->request->post()) ) {
$order_items= OrderItem::find()->where(['location_id'=>$model->location_name])->andwhere(['between', 'date', $model->from_date, $model->to_date ])->all();
$users_id_array = OrderItem::find()->select('distinct(user_id)')->where(['location_id'=>$model->location_name])->andwhere(['between', 'date', $model->from_date, $model->to_date ])->asArray()->all();
$users_id = array_values($users_id_array[0]);
$users=implode(',',$users_id);
$client_emails = User::find()->where(['in','user.id' ,$users])->asArray()->all();
// var_dump($client_emails);exit;
foreach($order_items as $order_item){
$order_item->cancellation_status="cancelled";
$order_item->save();
// $user_id.=$order_item->user_id;
}
如果我迭代\Yii::$app->mailer->compose()in foreach,它将为每个类发送邮件,而我希望在单个邮件中取消该用户的所有类。
翻翻过去那场雪