<?php namespace app\model; use think\Model; class DayData extends Model { // 设置当前模型对应的完整数据表名称 protected $table = 'public.bps_google_ad_day_data'; // 设置复合主键 protected $pk = ['ad_id', 'date']; // 设置自动时间戳 protected $autoWriteTimestamp = true; // 定义时间戳字段 protected $createTime = 'create_at'; protected $updateTime = 'update_at'; // 设置字段类型和默认值 protected $casts = [ 'ad_id' => 'int', 'customer_id' => 'int', 'clicks' => 'int', 'cost_micros' => 'int', 'conversions' => 'int', 'conversions_value' => 'float', 'impressions' => 'int', 'date' => 'date', ]; // 默认值设置 protected $defaults = [ 'clicks' => 0, 'cost_micros' => 0, 'conversions' => 0, 'conversions_value' => 0.0, 'impressions' => 0, 'ad_name' => '', 'ad_resource_name' => '', ]; // 关联 Campaign 模型(报告数据属于广告活动) public function campaign() { return $this->belongsTo(GoogleAdsCampaign::class, 'campaign_id', 'campaign_id'); } // 关联 AdGroup 模型(报告数据属于广告组) public function adGroup() { return $this->belongsTo(GoogleAdsAdGroup::class, 'ad_group_id', 'ad_group_id'); } // 关联 Ad 模型(报告数据属于广告) public function ad() { return $this->belongsTo(GoogleAdsAd::class, 'ad_id', 'ad_id'); } // 关联 Customer 模型(报告数据与客户相关) // public function customer() // { // return $this->belongsTo(GoogleAdsCustomer::class, 'customer_id', 'customer_id'); // } // 关联 Budget 模型(报告数据与预算相关) // public function budget() // { // return $this->belongsTo(CampaignBudget::class, 'budget_id', 'budget_id'); // } }