<?php namespace app\model; use think\Model; class BpsGoogleAdsCampaign extends Model { // 设置当前模型对应的完整数据表名称 protected $table = 'bps_google_ads_campaign'; // 设置主键 protected $pk = 'campaign_id'; // 设置自动时间戳 protected $autoWriteTimestamp = true; // 定义时间戳字段 protected $createTime = 'create_at'; protected $updateTime = 'update_at'; // 设置字段类型和默认值 protected $casts = [ 'campaign_id' => 'int', 'customer_id' => 'int', 'budget_amount_micros' => 'int', ]; // 默认值设置 protected $defaults = [ 'status' => 'ENABLED', // 活动状态默认值为 'ENABLED' 'advertising_channel_type' => 'SEARCH', // 广告渠道类型默认值为 'SEARCH' ]; // 关联 Customer 模型(广告活动属于客户) public function customer() { return $this->belongsTo(GoogleAdsCustomer::class, 'customer_id', 'customer_id'); } // 关联 AdGroup 模型(一个广告活动下有多个广告组) public function adGroups() { return $this->hasMany(GoogleAdsAdGroup::class, 'campaign_id', 'campaign_id'); } // 关联 Ad 模型(一个广告活动下有多个广告) public function ads() { return $this->hasManyThrough(GoogleAdsAd::class, GoogleAdsAdGroup::class, 'campaign_id', 'ad_group_id', 'campaign_id', 'ad_group_id'); } }