Image

Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

5d ago

Can I get a job with a resume with a few web development projects, github pull request merges that fixed issues, and with no college degree?

Yes, it absolutely applies to aspiring developers. In fact, it’s one of the best ways to break the "need experience to get experience" loop. When you don't have a formal work history, open-source contributions serve as your proof of competence. It shows a hiring manager that you can actually collaborate, handle feedback in code reviews, and navigate a massive, existing architecture things a solo portfolio project rarely demonstrates.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

5d ago

Has anyone here used UX case studies and User Research & Personas to find "real frustration" for a Problem Statement?

If you dig deeper and realize it's the second one? Absolutely move on. Finding out an idea doesn't have a desperate market before you write a single line of code isn't a failure, it's the entire point of doing the UX research to begin with.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

5d ago

Is it worth defining helper methods on models that traverse relationship chains?

To answer your first question directly: Yes, your current setup will fire additional queries.

To use the eager-loaded data in memory, you need to access it as a property instead of a method:

public function actualTrainer() {
    return $this->mesocycle?->macrocycle?->user?->actualTrainer;
}

As for your second question about architecture: yes, it absolutely makes sense to define these helpers. It actually aligns perfectly with the Law of Demeter. Wrapping deep traversals in a helper keeps your views and controllers clean and prevents you from repeating massive chains all over your codebase.

That said, if you find yourself needing to actually query against this deep relationship (e.g., filtering Microcycle records by a specific trainer), standard helper methods won't work. For that, you should check out Staudenmeir's eloquent-has-many-deep package. It lets you define native Eloquent relationships across unlimited intermediate tables so you can eager load and query them directly.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

5d ago

Can I get a job with a resume with a few web development projects, github pull request merges that fixed issues, and with no college degree?

Yes, absolutely possible. Honestly, having actual merged PRs in public repositories often carries more weight than a degree because it proves you know how to read someone else's codebase, use Git properly, and handle code reviews

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1w ago

What are Key Performance Indicators and how do they relate in web development?

Yes, metrics like latency, throughput, error rates, and response times are absolutely web dev KPIs.

Your NFR might state: The API must have a response time of under 200ms under normal load.

Your KPI is the actual live metric you track in your APM to prove to management or clients that the app is performing as promised.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1w ago

Frankenphp for Windows

Honestly, I wouldn't worry too much about it. This is a super common headache with Go-based binaries on Windows. Because Go compiles everything down into a single, packed executable, lazy AV heuristics constantly flag them as generic trojans or ransomware, especially when the binary isn't code-signed

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1w ago

Laravel-mix is breaking ...

Yeah, deleting package-lock.json on an older project is almost always a trap. It pulls in the latest minor/patch versions of all your nested dependencies (like postcss, sass-loader, terser), which practically guarantees something else will break in a legacy codebase.

Stick to your old working production package-lock.json, and just target the specific package you need to update so it only modifies that specific tree:

npm install laravel-mix@^6.0.49 --save-dev

That will fix the SizeFormatHelpers Webpack issue while keeping the rest of your legacy dependency tree safely locked in place.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1w ago

local AI guidelines

Ran into this exact headache mixing containerized and native envs on a team. Don't try to manage multiple AGENTS.md files or conditional AI guidelines per developer it's a maintenance nightmare.

Keep your shared AI guidelines completely standard: let the AI assume everyone uses standard php artisan, composer, and npm.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

2w ago

Canio, a different approach to Laravel PDF rendering: readiness contract instead of timing heuristics

I've been dealing with PDF generation in Laravel for years, and the waitUntilNetworkIdle() + arbitrary sleep() combo is a universal ticking time bomb. It always works perfectly locally and randomly flakes on production queues when a single webfont or third-party script takes 200ms too long to load.

Inverting the control to window.CANIO_READY is 100% the right call for complex documents (Chart.js, async data). It turns a race condition into a deterministic state. I've had to hack together similar window flags in raw Puppeteer scripts in the past just to stop the bleeding, so having it natively handled by a package is a massive win.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

2w ago

Laravel-mix is breaking ...

Webpack removed SizeFormatHelpers in v5.76.0. Your project probably pulled in the newer webpack automatically, which breaks the BuildOutputPlugin in older Mix releases.

Just bump laravel-mix to ^6.0.49 in your package.json. Jeffrey patched this exact issue a while back so you don't need to downgrade Webpack like the AI suggested.

Wipe your node_modules and package-lock.json, run npm install, and you should be good to go.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

2w ago

Prevent Users From Opening the Same Test in Multiple active Tabs?

Snapey's presence channel idea is solid, but if you want to avoid the overhead of Reverb/websockets, you can handle this reliably using a Redis cache lock combined with a JS heartbeat. I've used this exact pattern in production for high-stakes exam platforms.

Backend Lock: In that controller, store the lock in Redis: Cache::put("test_lock_{$test->id}user{$user->id}", $tab_id, 10);. The 10-second TTL is the magic number here.

Enforcement: On the actual test attempt route (and on subsequent test submissions), check this cache key. If the key exists AND the value doesn't match the current request's tab_id, throw your "already active" error.

imrandevbd's avatar

imrandevbd was awarded Best Answer+1000 XP

2w ago

Laravel Excel package validation help request

That error is popping up because you're adding a manual error to the validator without a numeric key. Laravel Excel expects the attribute name to follow a specific pattern (like row_number.column) so it can parse the row index. When you just pass 'Green Bean', strtok fails to find a numeric row index, passing a string to the Failure constructor instead.

Also, your current logic for checking the bean in the collection method won't work for validation because rules() and withValidator() run before the collection() method even touches the data.

namespace App\Imports;

use Maatwebsite\Excel\Concerns\ToCollection; use Maatwebsite\Excel\Concerns\WithHeadingRow; use Maatwebsite\Excel\Concerns\WithValidation; use Illuminate\Support\Collection;

class RoastImport implements ToCollection, WithHeadingRow, WithValidation { public function collection(Collection $rows) { // Your import logic here }

public function rules(): array
{
    return [
        // 'beans' matches the slugified header 'Beans'
        'beans' => ['required', 'exists:green_beans,name'],
        // 'out_g' matches 'Out (g)'
        'out_g' => ['required', 'numeric'],
    ];
}

public function customValidationMessages()
{
    return [
        'beans.exists' => 'The selected Green Bean is invalid.',
        'out_g.required' => 'The Out (g) column cannot be empty.',
    ];
}

}

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

2w ago

broadcasting/auth

Hey man, been there. A 403 Forbidden on the broadcasting/auth route almost always means your frontend is successfully hitting the endpoint, but Laravel is explicitly rejecting the authorization for that specific private channel.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

2w ago

Is Laracasts ever going to do PPP adjustment on membership prices? It's incredibly tough to afford in some countries.

Hey motinska94, I hear you loud and clear.

First off, keep your head up. Being an unemployed student is a tough grind, but the fact that you are actively seeking out high-quality resources to learn Laravel shows you have the exact right mindset for this industry.

I completely understand why that comment stung. When you live and work in the US or Western Europe, $15 truly is just the cost of a quick lunch. But you are 100% right the global economy doesn't run on the USD. In many parts of the world, including Turkey, $15 is a significant chunk of change. Your Spotify comparison is spot on and really puts things into perspective.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

Can't browse site after clonning git repository

Jussi is spot on about mixing npm/yarn and the missing SCSS file. Stick to npm run dev since you already built your node_modules with npm install. For that missing admin.scss file, double check your .gitignore it’s very common for custom asset directories to accidentally get ignored, meaning it never actually made it to your Github repo in the first place.

Regarding the "Firefox can't connect" error, that's entirely a local DNS/WAMP issue, not a Laravel bug. Your OS simply doesn't know where to route mysite.local

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

verify mail

This happens because the starter kits (Breeze/Jetstream) wrap that verification route in the auth middleware by default. When you open the link in a different browser, you're a "guest," so the middleware intercepts the request and redirects you to the login page before the verification logic even runs.

To fix this, you need to allow guests to hit that endpoint and manually find the user since $request->user() won't be available.

First, in routes/auth.php, move the route outside the auth middleware group, Then, you'll need to tweak the VerifyEmailController. Since you aren't using the auth middleware anymore,

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

Observer and scheduled publish dates

You already hit the nail on the head observers only fire on database operations, and time passing isn't a database operation.

Like the others mentioned, a scheduled command running everyMinute(). Instead of adding a published_processed_at timestamp though, I usually just rely on a status column (e.g., switching it from scheduled to published). Grab records where published_at <= now() and status === 'scheduled', fire your service, and update the status.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

403 Forbidden issues in Laravel EC2 and Lightsail for Laravel, Filament, Nginx on login

Since the login and public pages are hitting, Nginx is likely configured correctly. This usually boils down to Filament’s own authorization layer or basic directory permissions on the AWS instance.

please check this one, This is the most common culprit. In production, Filament restricts access by default. Ensure your User model implements the FilamentUser interface and that the canAccessPanel method is actually returning true for your account.

another check in file permission, sudo chown -R www-data:www-data storage bootstrap/cache sudo chmod -R 775 storage bootstrap/cache

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

I built a automatic normalized caching layer for Eloquent — massive Redis memory savings

That MGET strategy for BelongsTo is definitely the right call saves a ton of overhead compared to standard query caching.

I’m curious about the hydration side of things. When you're pulling a large collection and stitching all those normalized models back together, have you noticed much of a CPU hit on the PHP side? Reconstructing Eloquent models in a loop can get pricey if the collection is huge.

Also, how are you handling count() or exists()? Do those get their own entries in the query map, or are they just bypassing the cache for now?

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

I built a automatic normalized caching layer for Eloquent — massive Redis memory savings

Hey Kai, really solid concept here. Dealing with Redis memory bloat from duplicate query collections is a massive headache, especially on some of the larger Laravel apps I manage where tables easily hit 60M+ records. Bringing the Redux/Apollo normalized store pattern to Eloquent is a brilliant approach to solving that.

Quick question on the architecture: how are you handling eager loaded relationships (with())? Does the package normalize the nested models and just store their IDs on the parent, or are they embedded directly within the parent model's cached payload?

imrandevbd's avatar

imrandevbd liked a comment+100 XP

3w ago

I built a automatic normalized caching layer for Eloquent — massive Redis memory savings

Hey everyone 👋

Over the past few months, I’ve been working on a small open-source package called laravel-normcache.

It actually started from a problem I kept running into across a few different projects. I found myself repeatedly building the same kind of caching layer to avoid redundant Eloquent data sitting everywhere in Redis, so eventually I thought: why not turn it into a reusable package.

A lot of the ideas are inspired by patterns used in things like Redux/Apollo normalized stores, and I’ve been experimenting and refining things as I use it across real projects.

The main idea behind laravel-normcache is normalizing cached Eloquent results instead of storing entire query collections repeatedly. It stores individual models and query ID maps separately, so when one model changes, every cached query containing that model automatically reflects the update.

Query cache  →  "posts where active=1, page 2"  →  [4, 7, 12]
Model cache  →  post:4  →  { id:4, title:..., body:... }
             →  post:7  →  { id:7, title:..., body:... }
             →  post:12 →  { id:12, title:..., body:... }

Some things it currently does:

  • Automatic caching + invalidation with just a single trait
  • Avoids storing duplicate model data across query caches
  • Instant consistency across cached query results
  • O(1) invalidation using versioned cache keys
  • Uses dramatically less Redis memory compared to traditional query caching approaches

There’s still plenty I want to improve and optimize over time, but I felt it was finally in a good enough place to share with the community.

Here’s a quick benchmark comparing direct DB queries vs laravel-model-cache for reference:

benchmark

I’d love to hear feedback from the Laravel community — especially around architecture, performance, edge cases, and where this could fit into real-world applications. Contributions, issues, benchmarks, and criticism are all very welcome.

Repository: https://github.com/kai-init/laravel-normcache

Thanks for reading 🙏

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

Laravel Excel package validation help request

That error is popping up because you're adding a manual error to the validator without a numeric key. Laravel Excel expects the attribute name to follow a specific pattern (like row_number.column) so it can parse the row index. When you just pass 'Green Bean', strtok fails to find a numeric row index, passing a string to the Failure constructor instead.

Also, your current logic for checking the bean in the collection method won't work for validation because rules() and withValidator() run before the collection() method even touches the data.

namespace App\Imports;

use Maatwebsite\Excel\Concerns\ToCollection; use Maatwebsite\Excel\Concerns\WithHeadingRow; use Maatwebsite\Excel\Concerns\WithValidation; use Illuminate\Support\Collection;

class RoastImport implements ToCollection, WithHeadingRow, WithValidation { public function collection(Collection $rows) { // Your import logic here }

public function rules(): array
{
    return [
        // 'beans' matches the slugified header 'Beans'
        'beans' => ['required', 'exists:green_beans,name'],
        // 'out_g' matches 'Out (g)'
        'out_g' => ['required', 'numeric'],
    ];
}

public function customValidationMessages()
{
    return [
        'beans.exists' => 'The selected Green Bean is invalid.',
        'out_g.required' => 'The Out (g) column cannot be empty.',
    ];
}

}

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

Database Backup Rule

Since you're running a payment gateway, daily dumps are nowhere near enough. You’re dealing with high-stakes transactional data where even 5 minutes of data loss could be a reconciliation nightmare.

In your position, you need to think about RPO (Recovery Point Objective). If the DB blows up at 11:59 PM, and your last dump was 12:00 AM, can you afford to lose 23 hours of transactions? Probably not.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

VSCode/Cursor setup for PHP 8.5 & Laravel 13?

Yeah, laravel-ide-helper is almost certainly your culprit. It generates those massive stub files that end up clashing with Intelephense’s own indexing. When you see update() asking for 4 params, it's usually because the LSP is getting confused between the real Eloquent source and the helper's generated stubs.

Honestly, for Laravel 13, you can kill the ide-helper entirely. The official Laravel extension combined with a paid Intelephense license handles almost everything natively now.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

how to listen globally to livewire updating hook from AppServiceProvider.php in livewire 4

Assuming you're on v3, Livewire::listen is for events, not lifecycle hooks. You need to use Livewire::hook.

For global property updates, you should hook into commit:

use Livewire\Livewire;

public function boot(): void
{
    Livewire::hook('commit', function ($component, $commit) {
        // You can inspect $commit->updates for specific property changes.
    });
}

If you specifically need to run logic before the component finishes its cycle, commit is the standard way to intercept that in v3.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

Migrating to Laravel Cloud

Since you're moving to an S3-compatible bucket on Cloud, the cleanest way to handle 10GB is using rclone directly from your Forge server. Install rclone: sudo apt install rclone

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

3w ago

Database Replication

16 reqs/second is actually quite low for a modern SQL database. You should be able to hit 500+ reqs/s on a single instance without breaking a sweat, provided your indexing is solid. You might be over-engineering a bit early.

That said, if you want to move forward with replication for reports and metrics, that’s exactly the right use case for it. To handle the integrity/delay concern you mentioned, Laravel has a sticky option in the database config.

'sticky' => true, When sticky is enabled, if you perform a write during a request cycle, Laravel will immediately switch to using the write connection for any subsequent reads within that same request. This solves the "read-your-own-writes" problem where a user saves data but doesn't see it on the next line of code because the replica hasn't synced yet.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

4w ago

VSCode/Cursor setup for PHP 8.5 & Laravel 13?

I've been through this exact "extension bloat" cycle. If you're on PHP 8.5 and Laravel 13, you definitely have some redundancy fighting for CPU cycles.

My recommended "Lean" Stack: Intelephense, Laravel, Laravel Pint, PHPStan,

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

4w ago

Fat service class

I have to respectfully disagree with the suggestion to use traits here. Moving code into traits just to make a file shorter is an anti-pattern it sweeps the mess under the rug but doesn't fix the underlying architectural issue.

Right now, your ActivityService is turning into a God Class because it violates the Single Responsibility Principle. It's handling activity creation, activity deletion, and notification management across multiple distinct domain

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

4w ago

Add meta to JSON:API resource relationships

My bad you're right, I crossed the streams with the package syntax there.

In native Laravel 13, you need to use the Relation class within your resource's relationships() method. Instead of just returning a string or a simple callable, you return a relation object, which actually has the meta() method built-in.

Try this structure:

use Illuminate\Http\Resources\JsonApi\Relation;

public function relationships(Request $request): array
{
    return [
        'items' => Relation::toMany('items')
            ->meta(fn ($item) => [
                'pivot_data' => $item->pivot->your_column,
            ]),
    ];
}
imrandevbd's avatar

imrandevbd wrote a reply+100 XP

4w ago

Event-Driven Architecture, do I need it?

Honestly, ignore the AI on this one. What you’ve written is a solid, clean Action class. It’s readable, it handles the transaction properly, and it gets the job done.

EDA is fantastic for decoupling, but it’s absolute overkill for a simple stock adjustment. You only really need to go down that road if a stock change needs to trigger a bunch of unrelated side effects like hitting a third-party API, sending emails, or clearing remote caches and you don't want to bloat your main logic.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

Laravel Website Suddenly Slow After Server Migration – Possible PPA Launchpad Issue with PHP 7.4

Profiling basically means "measuring" your code while it runs to see exactly which part is taking the most time. It stops the guessing game.

Since you're seeing this locally too, that’s actually a win it means you can fix it without touching the production server.

The quickest way to do this in Laravel is to install Laravel Debugbar. Run this in your terminal:

composer require barryvdh/laravel-debugbar --dev

Once installed, refresh your slow page. A bar will appear at the bottom. Check these two tabs:

Timeline: This shows you the "execution" flow. If you see a massive gap/block, that’s your bottleneck.

Queries: This shows every database call. If one query is taking 2 seconds or you have 500 duplicate queries (N+1 issue), you’ll see it here instantly.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

what folder structure patterns have you found most effective ?

I'm completely with @martinbean on this one. Over the last decade building large-scale SaaS and ERP systems, every time my team tried to force a strict DDD or custom modular folder structure, we ended up fighting the framework.

Laravel's default structure is incredibly scalable if you just lean into sub-namespaces.

For interfaces, sticking to app/Contracts works perfectly. If a feature has multiple implementations (like different payment gateways or SMS providers), build a Manager class. It mimics how Laravel handles its own core components and makes swapping implementations painless.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

Add meta to JSON:API resource relationships

The v13 native JSON:API implementation is solid, but the docs are definitely a bit light on the deeper relationship customizations right now.

You can chain the meta() method directly onto your relationship definition. Since you're dealing with pivot values, you can pass a closure to meta() which receives the related model, allowing you to pull those pivot fields dynamically.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

How to obsfucate a Laravel application's code ?

Honestly, obfuscation in the PHP world is always a bit of a trade-off. If you’re dead set on it, IonCube or SourceGuardian are really your only professional options, but be prepared for some debugging headaches since Laravel's reflection and dependency injection can get grumpy when the source is mangled.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

🚀 DBStan Now Supports PostgreSQL

This is a solid update. Postgres support is huge, especially for catching those missing FK indexes that usually don't surface until you're under heavy load. I'm curious to see how the JSON vs JSONB analysis holds up on some of my messier schemas. Nice work on this!

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

Some comments disappear from the posts ?

That is strange, but it usually happens for one of two reasons: either the users who replied to you were flagged as spam, or they deleted their accounts entirely.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

JSON:API Resource collections is there an issue with docs?

If you don't have a dedicated PostCollection class, it falls back to a basic ResourceCollection. That's where you lose the JSON:API specific behavior like the included key that PostResource::collection() handles automatically via AnonymousResourceCollection.

imrandevbd's avatar

imrandevbd was awarded Best Answer+1000 XP

1mo ago

How does the optimistic updates work ?

Hey Vincent,

You're missing a return statement in your controller. Inertia requires a redirect after a mutation (POST/PUT/PATCH/DELETE) so it can fetch the fresh page props under the hood.

public function update(Request $request, Category $category)
{
    $category->fill($request->all());
    $category->save();

    return back(); // <-- You need this
}
imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

Upgrading to L13 using AI Confusion

If you want to use that /upgrade-laravel-v13 command on your Macbook, you'll need to install the actual Claude Code CLI in your terminal and run it from your project root. If you prefer to stick with PHPStorm's chat panel, it won't recognize the slash command you'll basically just have to copy/paste the upgrade guide instructions from the Laravel docs directly into the prompt so the assistant knows what to do.

imrandevbd's avatar

imrandevbd started a new conversation+100 XP

1mo ago

Migrating from Laragon to Flyenv for local dev anyone using it?

Hey everyone,

After relying on Laragon for years, I’m looking at moving my local workflow over to Flyenv. As my stack has gotten more complex over the last decade, I want a cleaner containerized setup, but ideally with less friction than managing raw Docker compose files or Sail for every single project.

For those of you actively using Flyenv how is it holding up as your daily driver? I’m mainly curious about the performance compared to Laragon's native speeds, and if there are any weird local networking or routing quirks I should watch out for before I migrate a dozen active client projects over.

Appreciate any insights!

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

Plan subscription and Stripe

Hey Vincent,

Definitely go with One Product -> Multiple Prices.

Having architected a few different SaaS platforms over the years, this is the standard and most scalable approach. If Plan A, B, and C are just feature tiers of the exact same application, Stripe is perfectly designed to handle them as distinct recurring Prices attached to a single Product.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

Increment/Decrement on High Traffic

Stop running increment() or decrement() during the HTTP request. Dispatch a job (e.g., UpdateMerchantBalance). The API responds immediately, and your queue workers deal with the lock waiting in the background. The workers will still wait on each other for that specific row, but your web server won't hang and the user won't experience timeouts.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

why wire wire-elements/livewire-strict package not working in livewire v4

Livewire v4 changed how property hydration/updates work internally, and wire-elements/livewire-strict hasn’t been updated to hook into those changes. In v3 it relied on middleware/hooks that simply don’t fire the same way anymore in v4, so lockProperties() becomes a no-op.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

How do we handle this repetition?

Ghabriel is definitely on the right track, but since you're querying by username instead of the default id, you should use explicit Route Model Binding. You don't need to manually query the database in every single method.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

Starter kit - High CPU Fan - Fixed

Spot on. Vite's underlying file watcher (chokidar) is notorious for spinning up the CPU when it tries to index massive directories like vendor and node_modules, especially depending on your OS or if you're running WSL/Docker. Limiting the scope for both Vite and Wayfinder is the exact right move here.

One quick tip: you might also want to add /public/build/ and /bootstrap/cache/ to that ignore array just to be entirely safe from unnecessary rebuild loops.

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

Unable to create server with token

organization owner is the one who needs to generate the token

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

Best approach for handling large file uploads and ZIP generation in Laravel?

The single-request approach is a ticking time bomb for max_execution_time and memory exhaustion. Once users start dropping gigabytes of files, your server will choke and browser connections will timeout. You can use Chunked Uploads or Asynchronous Processing

imrandevbd's avatar

imrandevbd wrote a reply+100 XP

1mo ago

How to access a private folder (Storage app/private/documents) from another Laravel project

@martinbean Ouch! Not a bot, I just like formatting my answers clearly with markdown and code snippets. But I actually agree with your primary point @adamnet, Martin is right that handling this via roles/permissions in a single project is usually the standard Laravel way to handle this, unless there is a strict hardware/business reason forcing them to live on completely different servers.