Commit 4dad74fd by Vladislav

Исправленно заполнение переменных для набора ссылок

1 parent b9f3bcdb
...@@ -44,25 +44,26 @@ class SitelinksAdd extends Command ...@@ -44,25 +44,26 @@ class SitelinksAdd extends Command
public function handle() public function handle()
{ {
$tokens = Tokens::whereHas('goalSitelinksForNotExternalForNotReserveCreate.sitelink') $tokens = Tokens::whereHas('goalSitelinksForNotExternalForNotReserveCreate.sitelink')
->whereHas('goalSitelinksForNotExternalForNotReserveCreate.goalAdvertisements')
->where('type', '!=', Tokens::MAIN) ->where('type', '!=', Tokens::MAIN)
->get(); ->get();
foreach ($tokens as $token) { foreach ($tokens as $token) {
$token->load([ $token->load([
'goalSitelinksForNotExternalForNotReserveCreate' => function (HasMany $query) { 'goalSitelinksForNotExternalForNotReserveCreate' => function (HasMany $query) {
return $query->has('sitelink'); return $query->has('sitelink')->has('goalAdvertisements');
}, },
'goalSitelinksForNotExternalForNotReserveCreate.sitelink', 'goalSitelinksForNotExternalForNotReserveCreate.sitelink',
]); ]);
$goalSitelinks = $token->goalSitelinksForNotExternalForNotReserveCreate; $goalSitelinks = $token->goalSitelinksForNotExternalForNotReserveCreate;
foreach (array_chunk($goalSitelinks->pluck('id')->toArray(), 1000) as $items) { // foreach (array_chunk($goalSitelinks->pluck('id')->toArray(), 1000) as $items) {
GoalSitelink::whereIn('id', $items) // GoalSitelink::whereIn('id', $items)
->update([ // ->update([
'reserve_create_at' => Carbon::now(), // 'reserve_create_at' => Carbon::now(),
]); // ]);
} // }
$request = new AddSitelinks(); $request = new AddSitelinks();
$request->setToken($token) $request->setToken($token)
......
...@@ -126,13 +126,26 @@ class AddSitelinks extends DirectRequest ...@@ -126,13 +126,26 @@ class AddSitelinks extends DirectRequest
$this->setParams([ $this->setParams([
'SitelinksSets' => $this->goalSitelinks->map(function (GoalSitelink $goalSitelink) use ($variables, &$lists) { 'SitelinksSets' => $this->goalSitelinks->map(function (GoalSitelink $goalSitelink) use ($variables, &$lists) {
if (!isset($lists[$goalSitelink->dictionary_campaign_id])) { $advertisement = $goalSitelink->goalAdvertisements()->first();
$list = Variable::getListVariablesByDictionaryCampaign($goalSitelink->dictionary_campaign_id, $variables);
$lists[$goalSitelink->dictionary_campaign_id] = $list; $dictionary_campaign_id = $advertisement ? $advertisement->dictionary_campaign_id : null;
if (!isset($lists[$dictionary_campaign_id])) {
$list = Variable::getListVariablesByDictionaryCampaign($dictionary_campaign_id, $variables);
$lists[$dictionary_campaign_id] = $list;
} else { } else {
$list = $lists[$goalSitelink->dictionary_campaign_id]; $list = $lists[$dictionary_campaign_id];
} }
var_dump([
'Sitelinks' => array_map(function ($link) use ($list) {
return array_map(function ($value) use ($list) {
return StrReplaceByVariables::getInstance($value, $list)->get();
}, array_filter($link));
}, $goalSitelink->sitelink->links),
]);
exit();
return [ return [
'Sitelinks' => array_map(function ($link) use ($list) { 'Sitelinks' => array_map(function ($link) use ($list) {
return array_map(function ($value) use ($list) { return array_map(function ($value) use ($list) {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!