In my Laravel 5.5 application, calls to DB::select which run a select query on a Postgresql database fail without showing any error in the Apache or Laravel error logs and t
The tricky part of this has been the browser's stubborn refusal to reveal any form of error message. When that happens, I like to go to the command line and try it, thus eliminating the web server as a variable.
From chat, we learned that the command line showed the error as expected, but did not gracefully do so: the error was output, and the script was halted. That's a hard crash, one not attributable to the web server.
With the introduction of \Throwable
, the scenarios where PHP dies hard are becoming fewer and farther between. So, in an effort to catch PHP's dying breath, we implemented a register_shutdown_function
that pulled error_get_last
in an effort to figure out what, if anything, was said just before blowing up.
This revealed, briefly, the error message in the browser (this time using a different browser). However, this was not repeatable. The insight at this point was caching: composer dump-autoload
fixed the problem!
I suspect what happened is this:
Eloquent
threw an exceptionBy running composer dump-autoload
, all the "missing" classes were brought into the autoloader's purview and, when tried again, the correct code sequence happened.
i think its an Sql query error
`SELECT * from test()`
Since () bracket indicates the function so try to use like
`SELECT * from test` in your query
Best way in laravel
Then use in controller like
`use App\Test;'
and then to fetch records
Test::all();
it will bring all records from database like your requirement SELECT * from Test