spatie / laravel-ray

Debug with Ray to fix problems faster in Laravel apps
https://myray.app
MIT License
291 stars 64 forks source link

Ray no longer shows the actual executed query, instead shows the query with pdo placeholders #365

Open pablosebastianr opened 2 days ago

pablosebastianr commented 2 days ago

Rehashing the #311 and #355 that were closed automatically.

I heared the third time is the charm.

Describe the bug Ray was showing the actual query exectuded in the database

Versions Ray version (you can see this in "About Ray"): 2.6.5.0 and later

You can use composer show to get the version numbers of:

PHP version: 8.1 Laravel version: 9.52.15

To Reproduce Steps to reproduce the behavior:

  1. Execute any query with eloquent or query builder using a parameter for a where clause

Expected behavior Ray should show the query executed with all the bindings properly replaced, one could copy and paste that query directly into TablePlus and execute. That is no longer possible Now it shows the placeholders of the pdo query. To make things worse it doesn't even include the bindings

Desktop (please complete the following information):

This is the PR that broke it: https://github.com/spatie/laravel-ray/pull/306/files . That was releasead with laravel-ray 1.32.6

This is what I get using Laravel 9, laravel-ray 1.33 and Ray 2.6.9.0 (and all the ones that came after that one):

alt text

Downgrading both laravel-ray to 1.32.5 and Ray 2.6.4.0 makes it okay

alt text

I don't fully understand all what is going on there but that method is using a function specific to Laravel 10 to replace bindings.
If such function doesn't exists, returns the raw sql with the placeholders, so it makes sense that Ray shows exactly that

Ray with Laravel 10 is fine.