signupDb = new SignupData(); $this->trackDataDb = new TrackData(); } public function insertData( $firstName, $lastName, $companyName, $companyEmail, $backupEmail, $phoneNumber, $country, $trackNo, $registeredSession, $lunchOptions, $typeOfIndustry, $typeOfJob, $jobTitle, $trackOfInterest, $areaOfInterest, $howToKnowAboutTheEvent, $consentAcceptEmail, $consentPrivacyPolicy, $media, $utm_source, $utm_medium, $utm_content, $utm_term, $utm_campaign) { $this->signupDb ->insert([ 'firstName' => $firstName, 'lastName' => $lastName, 'companyName' => $companyName, 'companyEmail' => $companyEmail, 'backupEmail' => $backupEmail, 'phoneNumber' => $phoneNumber, 'country' => $country, 'trackNo' => $trackNo, 'registeredSession' => $registeredSession, 'lunchOptions' => $lunchOptions, 'typeOfIndustry' => $typeOfIndustry, 'typeOfJob' => $typeOfJob, 'jobTitle' => $jobTitle, 'trackOfInterest' => $trackOfInterest, 'areaOfInterest' => $areaOfInterest, 'howToKnowAboutTheEvent' => $howToKnowAboutTheEvent, 'consentAcceptEmail' => $consentAcceptEmail, 'consentPrivacyPolicy' => $consentPrivacyPolicy, 'media' => $media, 'utm_source' => $utm_source, 'utm_medium' => $utm_medium, 'utm_content' => $utm_content, 'utm_term' => $utm_term, 'utm_campaign' => $utm_campaign, 'createDate' => date("Y-m-d H:i:s"), ]); } public function overLimitOrNot($trackNo) { $nowCount = 0; $nowCount = $this->signupDb ->where('trackNo', '=', $trackNo) ->count(); $limit = $this->trackDataDb ->select('trackLimit') ->where('trackNo', '=', $trackNo) ->first(); if ($limit->trackLimit>$nowCount) { return true; } else { return false; } } public function duplicatedOrNot($trackNo, $companyEmail, $phoneNumber) { $cnt = 0; $cnt = $this->signupDb ->where('trackNo', '=', $trackNo) ->where('companyEmail', '=', $companyEmail) // ->where('phoneNumber', '=', $phoneNumber) ->count(); \Log::info($cnt); if ($cnt==0) { return true; } else { return false; } } public function getData() { $res = $this->trackDataDb ->select([ 'trackData.*', \DB::raw('trackLimit-count(signupData.id) as remain') ]) ->leftJoin('signupData', 'trackData.trackNo', '=', 'signupData.trackNo') ->groupBy('trackData.trackNo') ->get(); // 整理返回值並返回 return $res; } public function getReMailData() { // \DB::enableQueryLog(); $res = $this->signupDb ->select(['*']) ->where('id', '>', '1370') ->where('id', '<', '1384') ->get() ->toArray(); // \Log::debug(print_r(DB::getQueryLog(), true)); // 整理返回值並返回 return $res; } public function getUTMData() { // \DB::enableQueryLog(); $res = $this->signupDb ->select(['id', 'media']) ->where('id', '3') ->get() ->toArray(); // \Log::debug(print_r(DB::getQueryLog(), true)); // 整理返回值並返回 return $res; } public function updateUTMData($id, $data) { \Log::info(print_r($data, true)); return; $res = $this->signupDb ->where('id', $id) ->update([ 'utm_source' => $data[0], 'utm_medium' => $data[1], 'utm_content' => $data[2], 'utm_term' => $data[3], 'utm_campaign' => $data[4], ]); } }