Reputation: 1980
how to debug delete()
in CakePHP? When I do:
debug($this->Sessions->delete($s));
I get this error:
{
"message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column \u0027session_id\u0027 in \u0027where clause\u0027",
"url": "\/api\/sessions\/delete\/2856",
"code": 500,
"file": "\/var\/www\/vendor\/cakephp\/cakephp\/src\/Database\/Statement\/MysqlStatement.php",
"line": 39
}
EDIT: Figured out my problem, I had called the session_id column "sessions_id" in the table by mistake. I updated this, and it solved my problem. However I'd really like to know how to debug delete()
and find()
properly. I noticed there is a debugging console bin/cake console
. Then help
to debug stuff, but I dont know how to use it, and cant seem to find any documentation on this. Can anyone help out? Thanks.
Upvotes: 2
Views: 252
Reputation: 60463
The error message stems directly from the DBMS, not from CakePHP, and it tells you pretty much all you need to know about why the query failed, there's not really a way to get more info on that.
Unless you're talking about the line where the exception is being thrown, pointing to a specific line would be rather complicated, as in this case there isn't an exact line causing a problem, the CakePHP side is working perfectly fine, you just mis-configured/named things, which led to a non-working SQL query being generated.
I would suggest to use a proper IDE and a debugger like XDebug that can halt on exceptions, then you have your stacktrace and a bunch of contextual information right at hand, and you can easily step through the code. A plain stacktrace can also be found in the logs (/logs/*.log
).
Upvotes: 1