select(PlaylistTrack::ATTRIBUTE_ENTRY) ->selectRaw('COUNT(*) AS total') ->groupBy(PlaylistTrack::ATTRIBUTE_ENTRY); AnimeThemeEntry::query() ->leftJoinSub( $tracksCount, 'track_counts', 'track_counts.entry_id', '=', $entryModel->getQualifiedKeyName(), ) ->toBase() ->update([ $entryModel->qualifyColumn('tracks_count') => DB::raw('COALESCE(track_counts.total, 0)'), ]); } catch (Exception $e) { return new ActionResult(ActionStatus::FAILED, $e->getMessage()); } return new ActionResult(ActionStatus::PASSED, 'Tracks count synced successfully'); } }