'ID', 'mall_id' => 'Mall ID', 'user_id' => 'User ID', 'video_id' => 'Video ID', 'status' => 'Status', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } public static function setData(int $mall_id, array $data) { $transaction = \Yii::$app->db->beginTransaction(); $video = ShortVideo::findOne(['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED, 'id' => $data['video_id'], 'check_status' => 1, 'is_blacklist' => 0]); if (!empty($data['id'])) { $model = self::findOne(['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED, 'id' => $data['id']]); if (empty($model)) { $transaction->rollBack(); self::$static_error = '点赞记录不存在'; return false; } $like_num = max($video->like_num - 1, 0); } else { $model = new self(); $model->loadDefaultValues(); $model->mall_id = $mall_id; $like_num = $video->like_num + 1; } foreach ($data as $key => $val) { $model->$key = $val; } $video->like_num = $like_num; // dd($model); $res = $model->save(); $res_video = $video->save(); if (false === $res || false == $res_video) { $transaction->rollBack(); self::$static_error = '保存数据失败:' . $model->getErrorMessage(); return false; } $transaction->commit(); return $model; } }