<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Kommentare zu: Warum man query() und execute() niemals nutzen sollte</title>
	<atom:link href="http://cakebakery.de/2009/07/06/warum-man-query-und-execute-niemals-nutzen-sollte/feed/" rel="self" type="application/rss+xml" />
	<link>http://cakebakery.de/2009/07/06/warum-man-query-und-execute-niemals-nutzen-sollte/</link>
	<description>Rezepte für die Entwicklung mit CakePHP</description>
	<lastBuildDate>Thu, 23 Jul 2009 05:07:33 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Von: Daniel Hofstetter</title>
		<link>http://cakebakery.de/2009/07/06/warum-man-query-und-execute-niemals-nutzen-sollte/comment-page-1/#comment-34844</link>
		<dc:creator>Daniel Hofstetter</dc:creator>
		<pubDate>Tue, 07 Jul 2009 14:44:44 +0000</pubDate>
		<guid isPermaLink="false">http://cakebakery.de/?p=54#comment-34844</guid>
		<description>Ja, das ist das Risiko, wenn du query() und Callback-Methoden verwendest (wobei ich pers&#246;nlich sehr selten die Callback-Methoden verwende). Auf der anderen Seite kann es auch sein, dass du pl&#246;tzlich ein SQL-Statement ausf&#252;hren musst, welches du nicht mit find() abbilden kannst, und dann hast du ebenso ein Problem...</description>
		<content:encoded><![CDATA[<p>Ja, das ist das Risiko, wenn du query() und Callback-Methoden verwendest (wobei ich pers&#246;nlich sehr selten die Callback-Methoden verwende). Auf der anderen Seite kann es auch sein, dass du pl&#246;tzlich ein SQL-Statement ausf&#252;hren musst, welches du nicht mit find() abbilden kannst, und dann hast du ebenso ein Problem&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Timo Derstappen</title>
		<link>http://cakebakery.de/2009/07/06/warum-man-query-und-execute-niemals-nutzen-sollte/comment-page-1/#comment-34831</link>
		<dc:creator>Timo Derstappen</dc:creator>
		<pubDate>Mon, 06 Jul 2009 14:24:29 +0000</pubDate>
		<guid isPermaLink="false">http://cakebakery.de/?p=54#comment-34831</guid>
		<description>Hey Dirk, sch&#246;n dass du den Blog wieder belebt hast! Und noch sch&#246;ner, dass query aus deinem Cake Wortschatz verschwindet :)

Mit query zerst&#246;rt man auch so gut wie alle Behaviors ...</description>
		<content:encoded><![CDATA[<p>Hey Dirk, sch&#246;n dass du den Blog wieder belebt hast! Und noch sch&#246;ner, dass query aus deinem Cake Wortschatz verschwindet :)</p>
<p>Mit query zerst&#246;rt man auch so gut wie alle Behaviors &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: dirk.olbertz</title>
		<link>http://cakebakery.de/2009/07/06/warum-man-query-und-execute-niemals-nutzen-sollte/comment-page-1/#comment-34830</link>
		<dc:creator>dirk.olbertz</dc:creator>
		<pubDate>Mon, 06 Jul 2009 12:31:52 +0000</pubDate>
		<guid isPermaLink="false">http://cakebakery.de/?p=54#comment-34830</guid>
		<description>Was aber, wenn Du im beforeFind() die Abfrage selbst beeinflusst. Zum Beispiel weil Du ein Flag &quot;deleted&quot; in der Datenbank hast und dies im beforeFind() abh&#228;ngig von den Rechten des Users setzt?

Wenn Du diese Funktionalit&#228;t erst einbaust, nachdem Du Deinen query()-Aufruf bereits gemacht hast, kannst Du unerw&#252;nschte Effekte erhalten.

Wenn Deine Abfrage aber nur durch find() realisiert wird, hast Du das Problem nicht mehr.

(Ich wei&#223;, dass ich in NoseRub auch noch query() benutze, will das aber so schnell wie m&#246;glich loswerden, wenn ich erst einmal die HABTM-Beziehung dort vern&#252;nftig gel&#246;st habe...)</description>
		<content:encoded><![CDATA[<p>Was aber, wenn Du im beforeFind() die Abfrage selbst beeinflusst. Zum Beispiel weil Du ein Flag &#8220;deleted&#8221; in der Datenbank hast und dies im beforeFind() abh&#228;ngig von den Rechten des Users setzt?</p>
<p>Wenn Du diese Funktionalit&#228;t erst einbaust, nachdem Du Deinen query()-Aufruf bereits gemacht hast, kannst Du unerw&#252;nschte Effekte erhalten.</p>
<p>Wenn Deine Abfrage aber nur durch find() realisiert wird, hast Du das Problem nicht mehr.</p>
<p>(Ich wei&#223;, dass ich in NoseRub auch noch query() benutze, will das aber so schnell wie m&#246;glich loswerden, wenn ich erst einmal die HABTM-Beziehung dort vern&#252;nftig gel&#246;st habe&#8230;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Daniel Hofstetter</title>
		<link>http://cakebakery.de/2009/07/06/warum-man-query-und-execute-niemals-nutzen-sollte/comment-page-1/#comment-34829</link>
		<dc:creator>Daniel Hofstetter</dc:creator>
		<pubDate>Mon, 06 Jul 2009 11:46:30 +0000</pubDate>
		<guid isPermaLink="false">http://cakebakery.de/?p=54#comment-34829</guid>
		<description>Nun ja, so pauschal w&#252;rde ich das nicht sagen. Gerade bei komplexeren SQL-Abfragen ist es vielfach einfacher und verst&#228;ndlicher, direkt SQL (mit query()) zu verwenden. Und wenn du dies in einer Methode in deinem Model kapselst, dann rufst du einfach die Methoden auf, die sonst aus beforeFind()/afterFind() aufgerufen w&#252;rden.</description>
		<content:encoded><![CDATA[<p>Nun ja, so pauschal w&#252;rde ich das nicht sagen. Gerade bei komplexeren SQL-Abfragen ist es vielfach einfacher und verst&#228;ndlicher, direkt SQL (mit query()) zu verwenden. Und wenn du dies in einer Methode in deinem Model kapselst, dann rufst du einfach die Methoden auf, die sonst aus beforeFind()/afterFind() aufgerufen w&#252;rden.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
