'int', 'creative_id' => 'int', 'account_id' => 'int', 'clicks' => 'int', 'spend' => 'int', 'purchases_value' => 'int', 'revenue' => 'int', 'impressions' => 'int', 'date' => 'date', ]; // 默认值设置 protected $defaults = [ 'clicks' => 0, 'spend' => 0, 'purchases_value' => 0, 'revenue ' => 0, 'impressions' => 0, 'ad_name' => '', ]; // 检查唯一键 // protected function checkUniqueKey() // { // $exists = $this->where('ad_id', $this->ad_id) // ->where('date', $this->date) // ->where('platform', $this->platform) // ->find(); // // if ($exists && $exists->id != $this->id) { // throw new \Exception('数据已存在,ad_id、date 和 platform 必须唯一'); // } // } // 在保存数据前调用 // protected static function onBeforeWrite($model) // { // $model->checkUniqueKey(); // } // 关联 Campaign 模型(报告数据属于广告活动) // public function campaign() // { // return $this->belongsTo(BpsAdCampaign::class, 'campaign_id', 'campaign_id'); // } // 关联 AdGroup 模型(报告数据属于广告组) // public function adSet() // { // return $this->belongsTo(BpsAdSet::class, 'ad_set_id', 'ad_set_id'); // } // 关联 Ad 模型(报告数据属于广告) // public function ad() // { // return $this->belongsTo(BpsAdAd::class, 'ad_id', 'ad_id'); // } // 关联 Customer 模型(报告数据与客户相关) // public function customer() // { // return $this->belongsTo(GoogleAdsCustomer::class, 'account_id', 'account_id'); // } // 关联 Budget 模型(报告数据与预算相关) // public function budget() // { // return $this->belongsTo(CampaignBudget::class, 'budget_id', 'budget_id'); // } }