Commit 660327b5 by Vladislav

#21624 Наборы ссылок, связать с рк, обновление

1 parent e83798dc
...@@ -49,11 +49,23 @@ class SitelinksDelete extends Command ...@@ -49,11 +49,23 @@ class SitelinksDelete extends Command
foreach ($tokens as $token) { foreach ($tokens as $token) {
$token->load([ $token->load([
'goalSitelinksForExternalNeedDeletedForNotReserveCreate' 'goalSitelinksForExternalNeedDeletedForNotReserveCreate' => function (HasMany $query) {
$query->join('goal_advertisements', 'goal_sitelinks.id', 'goal_advertisements.goal_sitelink_id')
->groupBy('goal_sitelinks.id')
->whereNull('goal_advertisements.id')
->select('goal_sitelinks.*');
return $query;
}
]); ]);
$goalSitelinks = $token->goalSitelinksForExternalNeedDeletedForNotReserveCreate; $goalSitelinks = $token->goalSitelinksForExternalNeedDeletedForNotReserveCreate;
if (!$goalSitelinks->count()) {
continue;
}
foreach (array_chunk($goalSitelinks->pluck('id')->toArray(), 100) as $items) { foreach (array_chunk($goalSitelinks->pluck('id')->toArray(), 100) as $items) {
GoalSitelink::whereIn('id', $items) GoalSitelink::whereIn('id', $items)
->update([ ->update([
......
...@@ -59,7 +59,7 @@ class GoalSitelink extends Pivot ...@@ -59,7 +59,7 @@ class GoalSitelink extends Pivot
*/ */
public function scopeForExternal($query) public function scopeForExternal($query)
{ {
return $query->whereNotNull('external_id'); return $query->whereNotNull($query->getModel()->getTable() . '.external_id');
} }
/** /**
...@@ -86,7 +86,7 @@ class GoalSitelink extends Pivot ...@@ -86,7 +86,7 @@ class GoalSitelink extends Pivot
*/ */
public function scopeForNotReserveDelete($query) public function scopeForNotReserveDelete($query)
{ {
return $query->whereNull('reserve_delete_at'); return $query->whereNull($query->getModel()->getTable() . '.reserve_delete_at');
} }
/** /**
...@@ -104,7 +104,7 @@ class GoalSitelink extends Pivot ...@@ -104,7 +104,7 @@ class GoalSitelink extends Pivot
*/ */
public function scopeNeedUpdated($query) public function scopeNeedUpdated($query)
{ {
return $query->whereNotNull('updated_need'); return $query->whereNotNull($query->getModel()->getTable() . '.updated_need');
} }
/** /**
...@@ -113,13 +113,7 @@ class GoalSitelink extends Pivot ...@@ -113,13 +113,7 @@ class GoalSitelink extends Pivot
*/ */
public function scopeNeedDeleted($query) public function scopeNeedDeleted($query)
{ {
return $query->needUpdated()->whereNotExists(function (\Illuminate\Database\Query\Builder $query) { return $query->needUpdated();
$query->select(DB::raw(1))
->from('goal_advertisements')
->whereNotNull('goal_advertisements.external_id')
->whereNull('goal_advertisements.deleted_at')
->whereColumn('goal_advertisements.goal_sitelink_external_id', 'goal_sitelinks.external_id');
});
} }
public function token() public function token()
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!