AdGroup.php
4.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
/**
* App\Models\AdGroup
*
* @property int $id
* @property int $campaign_id
* @property int $external_id
* @property int $campaign_external_id
* @property string|null $name
* @property string|null $tracking_params
* @property string|null $status
* @property string|null $serving_status
* @property string|null $type
* @property string|null $sub_type
* @property array|null $restricted_region_ids
* @property array|null $region_ids
* @property array|null $negative_keywords
* @property array|null $negative_keyword_shared_set_ids
* @property \Illuminate\Support\Carbon|null $updated_self
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup forUpdatedSelf()
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup query()
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereCampaignExternalId($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereCampaignId($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereExternalId($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereNegativeKeywordSharedSetIds($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereNegativeKeywords($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereRegionIds($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereRestrictedRegionIds($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereServingStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereSubType($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereTrackingParams($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereType($value)
* @method static \Illuminate\Database\Eloquent\Builder|AdGroup whereUpdatedAt($value)
* @mixin \Eloquent
*/
class AdGroup extends Model
{
const STATUS_ACCEPTED = 'ACCEPTED';
const STATUS_DRAFT = 'DRAFT';
const STATUS_MODERATION = 'MODERATION';
const STATUS_PREACCEPTED = 'PREACCEPTED';
const STATUS_REJECTED = 'REJECTED';
const SERVING_ELIGIBLE = 'ELIGIBLE';
const SERVING_RARELY_SERVED = 'RARELY_SERVED';
const TYPE_TEXT_AD_GROUP = 'TEXT_AD_GROUP';
const TYPE_MOBILE_APP_AD_GROUP = 'MOBILE_APP_AD_GROUP';
const TYPE_DYNAMIC_TEXT_AD_GROUP = 'DYNAMIC_TEXT_AD_GROUP';
const TYPE_CPM_BANNER_AD_GROUP = 'CPM_BANNER_AD_GROUP';
const TYPE_CPM_VIDEO_AD_GROUP = 'CPM_VIDEO_AD_GROUP';
const TYPE_SMART_AD_GROUP = 'SMART_AD_GROUP';
const SUB_TYPE_WEBPAGE = 'WEBPAGE';
const SUB_TYPE_FEED = 'FEED';
const SUB_TYPE_NONE = 'NONE';
const SUB_TYPE_KEYWORDS = 'KEYWORDS';
const SUB_TYPE_USER_PROFILE = 'USER_PROFILE';
protected $fillable = [
'campaign_id',
'external_id',
'campaign_external_id',
'name',
'status',
'type',
'sub_type',
'serving_status',
'restricted_region_ids',
'region_ids',
'negative_keywords',
'negative_keyword_shared_set_ids',
'tracking_params',
'updated_self',
];
protected $casts = [
'campaign_id' => 'int',
'external_id' => 'int',
'campaign_external_id' => 'int',
'restricted_region_ids' => 'json',
'region_ids' => 'array',
'negative_keywords' => 'json',
'negative_keyword_shared_set_ids' => 'json',
'updated_self' => 'datetime',
];
public static function boot()
{
parent::boot();
static::updated(function (AdGroup $adGroup) {
//
});
}
public function scopeForUpdatedSelf(Builder $query)
{
$query->whereNotNull('updated_self');
}
}