×

Changing tack of opposition sends Ruto, allies to the drawing board

Anti-Finace Bill protesters in Nairobi. The new opposition is devoid of political heavyweights the country has been accustomed to for years. [File, Standard]

“The world has changed. I see it in the water. I feel it in the earth. I smell it in the air. Much that once was is lost,” those were the words of celebrated author JRR Tolkien in his masterpiece The Lord of the Rings.

The words, though a work of art, simmers into the country’s current political atmosphere that is witnessing a rapid change in the composition of the opposition which has sent President William Ruto and his allies back to the drawing board.

The birth of an opposition centred around social media, with wings infiltrating public spaces and events, seems to have ushered in a pervasive sense of fear for the Kenya Kwanza administration.

Observers believe Kenya Kwanza has found itself in unfamiliar territory and is struggling to find a solution to the amorphous and defiant opposition that is gaining ground on social media.

This new opposition is devoid of the traditional political heavyweights the country has been accustomed to for several years, yet it appears to be highly effective in setting the public agenda and pushing back against Kenya Kwanza’s policies.

While President Ruto has managed to bring his former opponents on board, including opposition leader Raila Odinga, and has initiated talks with former President Uhuru Kenyatta, the struggle to calm the storms his administration is facing appears far from over.

On social media, for instance, a daily push of hashtags criticising his administration has become the norm, as critics poke holes in his policies and programmes.

On the flip side, Kenya Kwanza insiders told The Sunday Standard that they are rallying their own supporters to push hashtags in support of the government.

“Political campaigns and management are now on social media. The government has its own bloggers who push its agenda in the space,” said an activist who requested anonymity.

These developments have thrown the President’s camp into a joyless ride towards 2027, struggling to extinguish several political fires from an opposition that seems to be strengthening, albeit without a central figure.

In recent weeks, the online opposition appears to have been getting under the skin of the President and his allies, who have hit back at the online critics, labelling them as being driven by ‘evil spirits’.

The dissenters are unafraid to use all available technologies and artificial intelligence to mock the President and his administration while pushing back against Kenya Kwanza’s policies.

From hashtags, memes, X spaces, cartoons, photos, songs, and videos manipulated through artificial intelligence, Kenya Kwanza has found itself in unfamiliar territory.

For example, the classic “Kasongo” by Orchestra Super Mazembe, as well as a rendition by a Ugandan pastor, is a major theme in manipulated videos mocking the Ruto presidency on social media.

Political scientist Barrack Muluka said the people-centred opposition is unstoppable.

Dr Muluka argued that the vigour of people-centred opposition has been witnessed in countries such as Iran, Haiti, and the Philippines in the 1990s, and it must not be underestimated in Kenya.

He argued that this opposition can only be halted if the government reforms and serves the interests of the people.

However, if the government remains adamant, it could lead to a serious crisis.

“The power of the people is unstoppable, and it has started in Kenya. In order to salvage the situation, the government has the option of reforming to serve the interests of the people, or it can remain adamant and wait to be removed by the people,” Muluka said.

According to insiders from Kenya Kwanza, they had hoped the new wave of opposition, birthed by the Gen Z protests in June, would be a passing phase that would die down within months.

“We have been running our own trends to counter the lies being peddled by those against Kenya Kwanza. The goal is to show Kenyans that Ruto is actually delivering,” said a blogger.

In his efforts to crack down on the opposition, Ruto has effectively weakened the structured opposition the country had been accustomed to for several years, particularly after he entered into a deal with opposition leader Raila Odinga.

This move has successfully turned the Azimio coalition into a shell, as Wiper leader Kalonzo Musyoka and Narc Kenya leader Martha Karua struggle to revive the structured opposition.

Observers believe their failure to actively step into Raila’s shoes has created a vacuum, emboldening the new citizen-centred opposition, largely based in social media.

Muluka, however, believes this new opposition will only achieve its goals if they rally behind Kalonzo.

Political analysts argue that Kenyans now feel abandoned by the leaders they delegated the oversight role to.

Political analyst and High Court advocate Samuel Ochillo argues that Kenyans have discovered that the leaders they elected to play the oversight role have shortchanged them.

Ochillo believes Kenyans feel the opposition is defective. This has led them to defend themselves against poor governance.

“Kenyans feel that the leaders on whom they bestowed the oversight role against the government have betrayed them.

‘‘That is why they have resorted to using their constitutional power of sovereignty to exercise the oversight role on their own. Thus, the evolution of the people-centred opposition,” Ochillo said. He criticised the recent dalliance between the National Assembly Minority leadership and the Executive branch of the government.

Recently, National Assembly Minority Leader Junet Mohammed was seen defending President Ruto’s government.

Ochillo, who is also the first Speaker of Homa Bay County Assembly, said this alliance portrays opposition MPs as incapable of effectively overseeing Ruto’s government.

He also argued that Kalonzo’s role in the opposition is ineffective because the government does not listen to him.

“How do you expect opposition MPs to oversee the government effectively if the National Assembly Minority Leader is the one defending the government?

‘‘On the other hand, the government does not heed Kalonzo’s criticism. The reality is that the opposition in Kenya is dead,” Ochillo added.

Political observer Mark Bichachi said Kenyans are beginning to realise that they should use their constitutional power to defend themselves against poor governance.

He urged Kenyans to change their attitude and elect good leaders, without considering who distributes handouts.

“Let Kenyans elect good leaders. Raila should also succeed in his African Union Commission chairmanship bid, so he can let Kenyans elect leaders of their choice,” Bichachi added.

Raila’s supporters, however, believe the opposition is not dead and that they will not be outmuscled easily by the dissidents.

Kabondo Kasipul MP Eve Obara said the evolution of people-centred opposition does not mean the opposition has died in Kenya.

“The fact that people-centred opposition is evolving does not mean the opposition has failed in its role,” Dr Obara said.

She said the Constitution guarantees Kenyans the role of admonishing the government and leaders whenever they go wrong.

“The people are the first line of defence on oversight. If something is happening wrongly in their villages, let them speak and admonish it loudly. This will prevent political leaders from telling the electorate too many lies,” she said.

Suna West MP Peter Masara said the opposition is still there and that they are still part of it, even though they have a working relationship with Ruto’s administration.

Awendo MP Walter Owino believes the opposition still has a future in the country and is not dead.

“The fact that there are some working arrangements between ODM and Kenya Kwanza doesn’t kill the opposition,” Owino said.

According to the legislator, one of an MP’s roles is to oversee the government, regardless of whether the member is from the minority or majority party.

Report by Harold Odhiambo, Anne Atieno and James Omoro

Request history8.1.26PHP Version1.57sRequest Duration3MBMemory UsageGET article/{id}/{slug}Route
    • Booting (11.91ms)time
    • Application (1.55s)time
    • 1 x Application (99.24%)
      1.55s
      1 x Booting (0.76%)
      11.91ms
      11 templates were rendered
      • 1x mainsite.articlearticle.blade.php#?blade
      • 1x mainsite.partials.topsectionsubscribetopsectionsubscribe.blade.php#?blade
      • 1x common.poolpool.blade.php#?blade
      • 1x mainsite.partials.footerfooter.blade.php#?blade
      • 1x mainsite.layouts.appapp.blade.php#?blade
      • 1x mainsite.partials.metasmetas.blade.php#?blade
      • 1x mainsite.partials.topbartopbar.blade.php#?blade
      • 1x mainsite.partials.logo_sectionlogo_section.blade.php#?blade
      • 1x mainsite.partials.menumenu.blade.php#?blade
      • 1x mainsite.partials.streamingstreaming.blade.php#?blade
      • 1x mainsite.partials.stickybottomstickybottom.blade.php#?blade
      uri
      GET article/{id}/{slug}
      middleware
      web
      controller
      App\Http\Controllers\MainsiteController@article
      namespace
      prefix
      where
      file
      app/Http/Controllers/MainsiteController.php:610-1128
      36 statements were executed (9 duplicates)Show only duplicates613ms
      • Articles.php#513standard_digital_mainConnection Established
        Backtrace
        • app/Utils/Articles.php:513
        • app/Http/Controllers/MainsiteController.php:657
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:658
      • Articles.php#520standard_digital_main4.92msselect `id`, `site_id`, `article_category_id`, `title`, `long_title`, `thumbnail_url`, `story`, `published_at`, `premium`, `keywords`, `summary` from `articles` where `id` = '2001508075' and `published_at` <= '2025-03-12 16:20:54' and `deleted_at` is null
        Bindings
        • 0: 2001508075
        • 1: 2025-03-12 16:20:54
        Backtrace
        • app/Utils/Articles.php:520
        • app/Http/Controllers/MainsiteController.php:657
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:658
      • Articles.php#1435standard_digital_main1.02msselect * from `days_quote` where `deleted_at` is null and `quote_day` = '2025-03-12'
        Bindings
        • 0: 2025-03-12
        Backtrace
        • app/Utils/Articles.php:1435
        • app/Http/Controllers/MainsiteController.php:660
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:661
      • Builder.php#20standard_digital_main1.07msselect `authors`.*, `article_authors`.`article_id` as `pivot_article_id`, `article_authors`.`author_id` as `pivot_author_id` from `authors` inner join `article_authors` on `authors`.`id` = `article_authors`.`author_id` where `article_authors`.`article_id` = 2001508075 and `authors`.`deleted_at` is null
        Bindings
        • 0: 2001508075
        Backtrace
        • vendor/rennokki/laravel-eloquent-query-cache/src/Query/Builder.php:20
        • vendor/rennokki/laravel-eloquent-query-cache/src/Traits/QueryCacheModule.php:103
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/rennokki/laravel-eloquent-query-cache/src/Traits/QueryCacheModule.php:84
        • vendor/rennokki/laravel-eloquent-query-cache/src/Query/Builder.php:21
      • Articles.php#147standard_digital_main790μsselect `id` from `article_categories` where `site_id` = 1 and `id` = 588 or `parent_id` = 588 and `deleted_at` is null
        Bindings
        • 0: 1
        • 1: 588
        • 2: 588
        Backtrace
        • app/Utils/Articles.php:147
        • app/Http/Controllers/MainsiteController.php:727
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:728
      • Articles.php#164standard_digital_main65.9msselect `id`, `article_category_id`, `title`, `thumbnail_url`, `published_at`, `premium` from `articles` where `article_category_id` in (1, 588) and `site_id` = 1 and `deleted_at` is null and `published_at` <= '2025-03-12 16:20:54' order by `published_at` desc, `list_order` asc, `parent_category_list_order` asc limit 10 offset 0
        Bindings
        • 0: 1
        • 1: 588
        • 2: 1
        • 3: 2025-03-12 16:20:54
        Backtrace
        • app/Utils/Articles.php:164
        • app/Http/Controllers/MainsiteController.php:727
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:728
      • Articles.php#164standard_digital_main780μsselect `id`, `name`, `parent_id` from `article_categories` where `article_categories`.`id` in (1, 588)
        Backtrace
        • app/Utils/Articles.php:164
        • app/Http/Controllers/MainsiteController.php:727
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:728
      • Articles.php#53standard_digital_main1.2msselect `id`, `name`, `short_name`, `parent_id`, `site_id` from `article_categories` where `id` = 588
        Bindings
        • 0: 588
        Backtrace
        • app/Utils/Articles.php:53
        • app/Utils/Articles.php:338
        • app/Http/Controllers/MainsiteController.php:737
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
      • Articles.php#53standard_digital_main840μsselect `id`, `name`, `short_name`, `parent_id`, `site_id` from `article_categories` where `id` is null
        Backtrace
        • app/Utils/Articles.php:53
        • app/Utils/Articles.php:343
        • app/Http/Controllers/MainsiteController.php:737
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
      • Articles.php#55standard_digital_mainConnection Established
        Backtrace
        • app/Utils/Articles.php:55
        • app/Utils/Articles.php:343
        • app/Http/Controllers/MainsiteController.php:737
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
      • Articles.php#55standard_digital_main3.65msselect `id`, `name`, `short_name`, `parent_id`, `site_id` from `article_categories` where `id` is null
        Backtrace
        • app/Utils/Articles.php:55
        • app/Utils/Articles.php:343
        • app/Http/Controllers/MainsiteController.php:737
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
      • Articles.php#57standard_digital_mainConnection Established
        Backtrace
        • app/Utils/Articles.php:57
        • app/Utils/Articles.php:343
        • app/Http/Controllers/MainsiteController.php:737
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
      • Articles.php#57standard_digital_main4.31msselect `id`, `name`, `short_name`, `parent_id`, `site_id` from `article_categories` where `id` is null
        Backtrace
        • app/Utils/Articles.php:57
        • app/Utils/Articles.php:343
        • app/Http/Controllers/MainsiteController.php:737
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
      • Articles.php#60standard_digital_main1.42msselect `id`, `name`, `short_name`, `parent_id`, `site_id` from `article_categories` where `refer_id` is null
        Backtrace
        • app/Utils/Articles.php:60
        • app/Utils/Articles.php:343
        • app/Http/Controllers/MainsiteController.php:737
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
      • Articles.php#688standard_digital_main113msselect `id`, `site_id`, `article_category_id`, `title`, `thumbnail_url`, `story`, `published_at`, `premium` from `articles` where (`keywords` LIKE '%[\"Junet Mohammed\",\"Raila Odinga\",\"President William Ruto\",\"Kenya Kwanza Administration\"]%') and `site_id` = 1 and `published_at` <= '2025-03-12 16:20:54' and `deleted_at` is null and `id` not in ('2001508075') order by `published_at` desc limit 4 offset 0
        Bindings
        • 0: %["Junet Mohammed","Raila Odinga","President William Ruto","Kenya Kwanza Administration"]%
        • 1: 1
        • 2: 2025-03-12 16:20:54
        • 3: 2001508075
        Backtrace
        • app/Utils/Articles.php:688
        • app/Http/Controllers/MainsiteController.php:821
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:822
      • Articles.php#424standard_digital_main96.52msselect `id`, `article_category_id`, `title`, `thumbnail_url`, `published_at`, `premium` from `articles` where (`site_id` = 1 or `site_id` = 16 or `site_id` = 20) and `deleted_at` is null and `published_at` <= '2025-03-12 16:20:54' and `published_at` >= '2025-03-12 15:20:54' order by RAND(), `published_at` desc, `homepage_list_order` asc, `list_order` asc limit 4 offset 0
        Bindings
        • 0: 1
        • 1: 16
        • 2: 20
        • 3: 2025-03-12 16:20:54
        • 4: 2025-03-12 15:20:54
        Backtrace
        • app/Utils/Articles.php:424
        • app/Http/Controllers/MainsiteController.php:825
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:826
      • Articles.php#424standard_digital_main850μsselect `id`, `name`, `parent_id` from `article_categories` where `article_categories`.`id` in (1, 4, 7, 480)
        Backtrace
        • app/Utils/Articles.php:424
        • app/Http/Controllers/MainsiteController.php:825
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:826
      • Articles.php#147standard_digital_main730μsselect `id` from `article_categories` where `site_id` = 1 and `id` = 480 or `parent_id` = 480 and `deleted_at` is null
        Bindings
        • 0: 1
        • 1: 480
        • 2: 480
        Backtrace
        • app/Utils/Articles.php:147
        • app/Http/Controllers/MainsiteController.php:829
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:830
      • Articles.php#164standard_digital_main1.84msselect `id`, `article_category_id`, `title`, `thumbnail_url`, `published_at`, `premium` from `articles` where `article_category_id` in (480, 481, 482, 719) and `site_id` = 1 and `deleted_at` is null and `published_at` <= '2025-03-12 16:20:54' order by `published_at` desc, `list_order` asc, `parent_category_list_order` asc limit 4 offset 0
        Bindings
        • 0: 480
        • 1: 481
        • 2: 482
        • 3: 719
        • 4: 1
        • 5: 2025-03-12 16:20:54
        Backtrace
        • app/Utils/Articles.php:164
        • app/Http/Controllers/MainsiteController.php:829
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:830
      • Articles.php#164standard_digital_main860μsselect `id`, `name`, `parent_id` from `article_categories` where `article_categories`.`id` in (480, 482)
        Backtrace
        • app/Utils/Articles.php:164
        • app/Http/Controllers/MainsiteController.php:829
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:830
      • Articles.php#753standard_digital_main71.4msselect `id`, `article_category_id`, `title`, `thumbnail_url`, `published_at`, `premium` from `articles` where (`premium` = 1 or `article_category_id` = 486) and `site_id` = '1' and `deleted_at` is null and `published_at` <= '2025-03-12 16:20:54' and `homepage_list_order` is not null order by `published_at` desc, `homepage_list_order` asc, `list_order` asc limit 4 offset 0
        Bindings
        • 0: 1
        • 1: 486
        • 2: 1
        • 3: 2025-03-12 16:20:54
        Backtrace
        • app/Utils/Articles.php:753
        • app/Http/Controllers/MainsiteController.php:837
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:838
      • Articles.php#753standard_digital_main1.09msselect `id`, `name`, `parent_id` from `article_categories` where `article_categories`.`id` in (3, 41, 588)
        Backtrace
        • app/Utils/Articles.php:753
        • app/Http/Controllers/MainsiteController.php:837
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:838
      • Articles.php#819standard_digital_main1.65msselect `id`, `site_id`, `article_category_id`, `title`, `thumbnail_url`, `story`, `published_at`, `premium` from `articles` where `id` < '2001508075' and `site_id` = 1 and `published_at` <= '2025-03-12 16:20:54' and `deleted_at` is null order by `id` desc limit 1
        Bindings
        • 0: 2001508075
        • 1: 1
        • 2: 2025-03-12 16:20:54
        Backtrace
        • app/Utils/Articles.php:819
        • app/Http/Controllers/MainsiteController.php:841
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:842
      • Articles.php#819standard_digital_main720μsselect `id`, `name`, `parent_id` from `article_categories` where `article_categories`.`id` in (596)
        Backtrace
        • app/Utils/Articles.php:819
        • app/Http/Controllers/MainsiteController.php:841
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:842
      • Articles.php#865standard_digital_main1.44msselect `id`, `site_id`, `article_category_id`, `title`, `thumbnail_url`, `story`, `published_at`, `premium` from `articles` where `id` > '2001508075' and `site_id` = 1 and `deleted_at` is null and `published_at` <= '2025-03-12 16:20:54' limit 1
        Bindings
        • 0: 2001508075
        • 1: 1
        • 2: 2025-03-12 16:20:54
        Backtrace
        • app/Utils/Articles.php:865
        • app/Http/Controllers/MainsiteController.php:841
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:842
      • Articles.php#865standard_digital_main850μsselect `id`, `name`, `parent_id` from `article_categories` where `article_categories`.`id` in (588)
        Backtrace
        • app/Utils/Articles.php:865
        • app/Http/Controllers/MainsiteController.php:841
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:842
      • Articles.php#1288standard_digital_main17.56msselect `id`, `site_id`, `article_category_id`, `title`, `thumbnail_url`, `story`, `published_at`, `premium` from `articles` where `published_at` <= '2025-03-12 16:20:54' and `article_category_id` = 588 and `site_id` = 1 and `id` not in ('2001508075') order by `homepage_list_order` asc, `published_at` desc limit 6 offset 0
        Bindings
        • 0: 2025-03-12 16:20:54
        • 1: 588
        • 2: 1
        • 3: 2001508075
        Backtrace
        • app/Utils/Articles.php:1288
        • app/Http/Controllers/MainsiteController.php:845
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:846
      • Articles.php#1288standard_digital_main990μsselect `id`, `name`, `parent_id` from `article_categories` where `article_categories`.`id` in (588)
        Backtrace
        • app/Utils/Articles.php:1288
        • app/Http/Controllers/MainsiteController.php:845
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:846
      • Builder.php#20standard_digital_main28.29msselect `videos`.`id`, `videos`.`video_category_id`, `videos`.`title`, `videos`.`video_url`, `videos`.`description`, `videos`.`published_at`, `videos`.`thumbnail_url` from `videos` inner join `video_categories` on `video_categories`.`id` = `videos`.`video_category_id` where (`keywords` LIKE '%[\"Junet Mohammed\",\"Raila Odinga\",\"President William Ruto\",\"Kenya Kwanza Administration\"]%') and `videos`.`deleted_at` is null and `video_categories`.`video_type_id` = 1 order by `published_at` desc limit 3 offset 0
        Bindings
        • 0: %["Junet Mohammed","Raila Odinga","President William Ruto","Kenya Kwanza Administration"]%
        • 1: 1
        Backtrace
        • vendor/rennokki/laravel-eloquent-query-cache/src/Query/Builder.php:20
        • vendor/rennokki/laravel-eloquent-query-cache/src/Traits/QueryCacheModule.php:103
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/rennokki/laravel-eloquent-query-cache/src/Traits/QueryCacheModule.php:84
        • vendor/rennokki/laravel-eloquent-query-cache/src/Query/Builder.php:21
      • Articles.php#3749standard_digital_main1.49msselect count(std_trend_article_id) as count, std_trend_article_id from `std_article_trends` group by `std_trend_article_id` order by `count` desc limit 20
        Backtrace
        • app/Utils/Articles.php:3749
        • app/Http/Controllers/MainsiteController.php:853
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:854
      • Articles.php#3775standard_digital_main1.84msselect `id`, `article_category_id`, `title`, `thumbnail_url`, `published_at`, `premium` from `articles` where `id` in (2001249065, 2001513608, 2001512924, 2001513633, 2001513613, 2001513615, 2000198221, 2001513638, 2001513640, 2001513590, 2001513468, 2001513599, 2001374900, 2001513645, 2001513594, 2001513538, 2001263698, 2001267116, 2001513581, 2001513595) and `deleted_at` is null and `published_at` <= '2025-03-12 16:20:54' and `homepage_list_order` is not null order by `published_at` desc, `homepage_list_order` asc, `list_order` asc limit 5
        Bindings
        • 0: 2001249065
        • 1: 2001513608
        • 2: 2001512924
        • 3: 2001513633
        • 4: 2001513613
        • 5: 2001513615
        • 6: 2000198221
        • 7: 2001513638
        • 8: 2001513640
        • 9: 2001513590
        • 10: 2001513468
        • 11: 2001513599
        • 12: 2001374900
        • 13: 2001513645
        • 14: 2001513594
        • 15: 2001513538
        • 16: 2001263698
        • 17: 2001267116
        • 18: 2001513581
        • 19: 2001513595
        • 20: 2025-03-12 16:20:54
        Backtrace
        • app/Utils/Articles.php:3775
        • app/Http/Controllers/MainsiteController.php:853
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:854
      • Articles.php#3775standard_digital_main1.12msselect `id`, `name`, `parent_id` from `article_categories` where `article_categories`.`id` in (263, 264, 273, 480, 588)
        Backtrace
        • app/Utils/Articles.php:3775
        • app/Http/Controllers/MainsiteController.php:853
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Controllers/MainsiteController.php:854
      • CookieTool.php#185standard_digital_main1.08msselect * from `settings` where `meta_name` = 'article_age' limit 1
        Bindings
        • 0: article_age
        Backtrace
        • app/Utils/CookieTool.php:185
        • app/Http/Controllers/MainsiteController.php:870
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
      • helper.php#424standard_digital_main900μsselect * from article_categories where id = '588'
        Backtrace
        • app/Library/helper.php:424
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:70
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • helper.php#424standard_digital_main670μsselect * from article_categories where id = '588'
        Backtrace
        • app/Library/helper.php:424
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:70
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • helper.php#424standard_digital_main680μsselect * from article_categories where id = '588'
        Backtrace
        • app/Library/helper.php:424
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:70
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • helper.php#424standard_digital_main670μsselect * from article_categories where id = '588'
        Backtrace
        • app/Library/helper.php:424
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:70
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • Articles.php#1350standard_digital_main179msselect * from `articles` where `deleted_at` is null and `published_at` <= '2025-03-12 16:20:55' and (`keywords` like '%Junet Mohammed%' or `keywords` like '%Raila Odinga%' or `keywords` like '%President William Ruto%' or `keywords` like '%Kenya Kwanza Administration%') and (`site_id` = 1 or `site_id` = 16 or `site_id` = 20) and `id` <> '2001508075' order by `published_at` desc limit 3
        Bindings
        • 0: 2025-03-12 16:20:55
        • 1: %Junet Mohammed%
        • 2: %Raila Odinga%
        • 3: %President William Ruto%
        • 4: %Kenya Kwanza Administration%
        • 5: 1
        • 6: 16
        • 7: 20
        • 8: 2001508075
        Backtrace
        • app/Utils/Articles.php:1350
        • app/Utils/Articles.php:1672
        • view::mainsite.article:577
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
      • app.blade.php#825standard_digital_main1.66msselect * from `favourite_topics` where `status` = 1
        Bindings
        • 0: 1
        Backtrace
        • view::mainsite.layouts.app:825
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:70
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      App\Models\Category
      386Category.php#?
      App\Models\Article
      39Article.php#?
      App\Models\Trending
      20Trending.php#?
      App\Topic
      16Topic.php#?
      App\Models\Author
      14Author.php#?
          _token
          ip8xUjd2FSFTG03Z3UD26kjGYPDS2PsODEnq7AWn
          offset
          0
          _previous
          array:1 [ "url" => "http://www.standardmedia.co.ke/main-staging/article/2001508075/changing-tack-o...
          _flash
          array:2 [ "old" => [] "new" => [] ]
          path_info
          /article/2001508075/changing-tack-of-opposition-sends-ruto-allies-to-the-drawing-board
          status_code
          200
          
          status_text
          OK
          format
          html
          content_type
          text/html; charset=UTF-8
          request_query
          []
          
          request_request
          []
          
          request_headers
          0 of 0
          array:23 [ "cf-ray" => array:1 [ 0 => "91f397384d03d94a-EWR" ] "x-forwarded-for" => array:1 [ 0 => "3.15.209.38" ] "host" => array:1 [ 0 => "www.standardmedia.co.ke" ] "cf-connecting-ip" => array:1 [ 0 => "3.15.209.38" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "connection" => array:1 [ 0 => "Keep-Alive" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "pragma" => array:1 [ 0 => "no-cache" ] "cache-control" => array:1 [ 0 => "no-cache" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] ]
          request_cookies
          []
          
          response_headers
          0 of 0
          array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Wed, 12 Mar 2025 13:20:55 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImlHblVKM0ZEWlM5UzVuVExQV0hqd3c9PSIsInZhbHVlIjoiamdwdzdqWXF2NVhpWElMdnp6NHV6eDZtazMrdkdHUXB0UUF0cFFXUjBGdDB5VTJYbXQ4MlBsSnVmUURWWGZTZnc0eStJWU5XZ0NITWQvbjFvMnUxR01zenAvU3BMaG9mMXc5QTI3Nk90SjR1U01hd0x5Sm91M1o3WVJ4a1FmRysiLCJtYWMiOiIyNWYwZDQ3ZDIwYzAxNWI3ZjcwMTM0MzE5MGU1NWY5ZjMyZmZlYjMxNGQwNDM1M2VjZDVlNzlmMzFjNzVhMDY2IiwidGFnIjoiIn0%3D; expires=Fri, 11 Apr 2025 23:49:55 GMT; Max-Age=2629740; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6ImlHblVKM0ZEWlM5UzVuVExQV0hqd3c9PSIsInZhbHVlIjoiamdwdzdqWXF2NVhpWElMdnp6NHV6eDZtazMrdkdHUXB0UUF0cFFXUjBGdDB5VTJYbXQ4MlBsSnVmUURWWGZTZnc0eStJW" 1 => "thestandardmediagroup_session=eyJpdiI6IllpdXEzRExEOGlhbnQ4clRMY3grU0E9PSIsInZhbHVlIjoiUlAzU2d6ZHNUc0MwNUwwVzVRNVJzaURzVS9ORmRPekxYYTdMc1dESHZLdlVSZlpQcERRbURPaEdBMDU0NkM5L1V6V25uS3ZZSWtLREZveEYvMmNQQ0kyVXhBUGFlT2NIRkNyRUFzaFRNcVkrOWtFeFFweHFwMVhsTEx4TkdlaTUiLCJtYWMiOiIyZDRkOGRmYjhiOWI0NGY0ZTU3ODIyNWUzMmZhMDhjYzg3MWY5MmNiNzI0ZjkxYTg2YWE1ZmJiMzMwMGFmZDZiIiwidGFnIjoiIn0%3D; expires=Fri, 11 Apr 2025 23:49:55 GMT; Max-Age=2629740; path=/; httponly; samesite=laxthestandardmediagroup_session=eyJpdiI6IllpdXEzRExEOGlhbnQ4clRMY3grU0E9PSIsInZhbHVlIjoiUlAzU2d6ZHNUc0MwNUwwVzVRNVJzaURzVS9ORmRPekxYYTdMc1dESHZLdlVSZlpQcERRbURPaE" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImlHblVKM0ZEWlM5UzVuVExQV0hqd3c9PSIsInZhbHVlIjoiamdwdzdqWXF2NVhpWElMdnp6NHV6eDZtazMrdkdHUXB0UUF0cFFXUjBGdDB5VTJYbXQ4MlBsSnVmUURWWGZTZnc0eStJWU5XZ0NITWQvbjFvMnUxR01zenAvU3BMaG9mMXc5QTI3Nk90SjR1U01hd0x5Sm91M1o3WVJ4a1FmRysiLCJtYWMiOiIyNWYwZDQ3ZDIwYzAxNWI3ZjcwMTM0MzE5MGU1NWY5ZjMyZmZlYjMxNGQwNDM1M2VjZDVlNzlmMzFjNzVhMDY2IiwidGFnIjoiIn0%3D; expires=Fri, 11-Apr-2025 23:49:55 GMT; path=/XSRF-TOKEN=eyJpdiI6ImlHblVKM0ZEWlM5UzVuVExQV0hqd3c9PSIsInZhbHVlIjoiamdwdzdqWXF2NVhpWElMdnp6NHV6eDZtazMrdkdHUXB0UUF0cFFXUjBGdDB5VTJYbXQ4MlBsSnVmUURWWGZTZnc0eStJW" 1 => "thestandardmediagroup_session=eyJpdiI6IllpdXEzRExEOGlhbnQ4clRMY3grU0E9PSIsInZhbHVlIjoiUlAzU2d6ZHNUc0MwNUwwVzVRNVJzaURzVS9ORmRPekxYYTdMc1dESHZLdlVSZlpQcERRbURPaEdBMDU0NkM5L1V6V25uS3ZZSWtLREZveEYvMmNQQ0kyVXhBUGFlT2NIRkNyRUFzaFRNcVkrOWtFeFFweHFwMVhsTEx4TkdlaTUiLCJtYWMiOiIyZDRkOGRmYjhiOWI0NGY0ZTU3ODIyNWUzMmZhMDhjYzg3MWY5MmNiNzI0ZjkxYTg2YWE1ZmJiMzMwMGFmZDZiIiwidGFnIjoiIn0%3D; expires=Fri, 11-Apr-2025 23:49:55 GMT; path=/; httponlythestandardmediagroup_session=eyJpdiI6IllpdXEzRExEOGlhbnQ4clRMY3grU0E9PSIsInZhbHVlIjoiUlAzU2d6ZHNUc0MwNUwwVzVRNVJzaURzVS9ORmRPekxYYTdMc1dESHZLdlVSZlpQcERRbURPaE" ] ]
          session_attributes
          0 of 0
          array:4 [ "_token" => "ip8xUjd2FSFTG03Z3UD26kjGYPDS2PsODEnq7AWn" "offset" => 0 "_previous" => array:1 [ "url" => "http://www.standardmedia.co.ke/main-staging/article/2001508075/changing-tack-of-opposition-sends-ruto-allies-to-the-drawing-board" ] "_flash" => array:2 [ "old" => [] "new" => [] ] ]
          ClearShow all
          Date ↕MethodURLData
          #12025-03-12 16:20:55GET/main-staging/article/2001508075/changing-tack-of-opposition-sends-ruto-allies-to-the-drawing-board1136475