webman_ad/app/model/Campaign.php
2024-12-19 15:07:23 +08:00

58 lines
1.6 KiB
PHP

<?php
namespace app\model;
use think\Model;
class Campaign 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(AdGroup::class, 'campaign_id', 'campaign_id');
}
// 关联 Ad 模型(一个广告活动下有多个广告)
public function ads()
{
return $this->hasManyThrough(Ad::class, GoogleAdsAdGroup::class, 'campaign_id', 'ad_group_id', 'campaign_id', 'ad_group_id');
}
// 关联到广告数据表
public function adDayData()
{
return $this->hasMany(DayData::class, 'campaign_id', 'campaign_id');
}
}