On Sat, Feb 19, 2011 at 8:49 PM, Ryan Schmidt
<[email protected]> wrote:
> On Feb 18, 2011, at 18:20, cricket wrote:
>
>> On Fri, Feb 18, 2011 at 4:05 PM, Ryan Schmidt wrote:
>>>
>>
>>> On Feb 18, 2011, at 06:10, Djonatan Buss wrote:
>>>
>>>> I have been having the help of a friend that works with a cake but I 
>>>> couldn't find the right way to see the SQL generated by cake.
>>>>
>>>> In order to learn it better and understand how it makes SQL and why theres 
>>>> some troubles sometimes.
>>>>
>>>> So I would like to know how do I check every INSERT, UPDATE and SELECTs 
>>>> that cake does.
>>>> which method do I have to use, where it should be placed and thing like 
>>>> that
>>>>
>>>> I'm using the cake default layout in order to check the SELECTS but I 
>>>> would like to see the other as well...
>>>
>>> The default CakePHP SQL debugging will only show you the queries that 
>>> happened on this request. I too wanted to be able to see queries that 
>>> happened on other previous related requests -- for example, if you submit a 
>>> form that adds, edits, updates or deletes, then it will do those things, 
>>> and then redirect to another page which then displays the new data; 
>>> CakePHP's default only shows the queries to select the new data and not the 
>>> queries to actually change the data.
>>>
>>> One solution is to use the debugkit:
>>>
>>> https://github.com/cakephp/debug_kit#readme
>>>
>>> It adds a toolbar to your page where you can view the queries for each 
>>> individual page. It also has other features that may be interesting to you.
>>
>> You should check out the new Cake logging features:
>> http://book.cakephp.org/view/1561/Migrating-from-CakePHP-1-2-to-1-3#!/view/1194/Logging
>>
>> This is exactly something I've been meaning to look into, actually.
>> I'm pretty sure, based on my own cursory examination, that this is
>> what you should be looking at. I'd like to hear back from anyone who's
>> already done something with this.
>
> So you're suggesting the queries should be logged to a file? That's certainly 
> an option, but I prefer being able to see them directly in the web page. The 
> default CakePHP query display does this, but only for queries that happened 
> on that request.

Bingo. The query display is useless where redirects are concerned.
Logging the queries elsewhere makes redirects a moot point.

> To see queries that happened on previous related requests, the debugkit can 
> be used, but I find it inconvenient to have to click a button in the bar at 
> the top and than click through each separate request to see what happened, 
> every time I want to see it.

Agreed.

> In a previous non-CakePHP project I worked on, we showed all queries since 
> the last request at the bottom of the page in a debug area. Queries were 
> simply stored in the session, and cleared out of the session when displayed. 
> This area could be shown or hidden, and this was remembered between pages too 
> (using a flag in the session). This worked well for us. I have yet to 
> investigate how to build this with CakePHP but it shouldn't be too hard to 
> do, if I spend some time looking at how debugkit was written.

That seems like a fine idea. Also one that could, I presume, be dealt
with through thecustom logging. As I said, though, I haven't yet
played with it.

But logging to a file is fine if it's only for development. Another
option would be to have the DB itself take care of it. Logging to an
in-memory table wouldn't slow things down much at all.

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to