74 lines
1.9 KiB
PHP
74 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace app\model;
|
|
|
|
use think\Model;
|
|
|
|
class DayData extends Model
|
|
{
|
|
// 设置当前模型对应的完整数据表名称
|
|
protected $table = 'bps.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');
|
|
// }
|
|
} |