<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Consulenza-Web.com &#187; sql</title>
	<atom:link href="http://www.consulenza-web.com/tag/sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.consulenza-web.com</link>
	<description>Blog di Marco Pegoraro su Consulenza Web ed Informatica, Programmazione Web e realizzazione di Siti Web Accessibili.</description>
	<lastBuildDate>Fri, 23 Jul 2010 11:13:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Utilizzare operatori sql in CakePHP find()</title>
		<link>http://www.consulenza-web.com/2009/02/utilizzare-operatori-sql-in-cakephp-find/</link>
		<comments>http://www.consulenza-web.com/2009/02/utilizzare-operatori-sql-in-cakephp-find/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 12:46:18 +0000</pubDate>
		<dc:creator>peg</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.consulenza-web.com/?p=29</guid>
		<description><![CDATA[Riporto il sunto di una discussione sviluppata sul Gruppo Google di CakePHP inerente all&#8217;utilizzo di operatori SQL nelle operazioni di estrazione dati (finder query): http://groups.google.com/group/cake-php/browse_thread/thread/89dd8a8846bad3a1?hl=en L&#8217;autore ha la necessità di estrarre da un campo di testo un numero limitato di caratteri utilizzando l&#8217;operatore SQL LEFT: LEFT(Table.field, len) as new_field_name La soluzione proposta (e testata) consiste [...]]]></description>
			<content:encoded><![CDATA[<p>Riporto il sunto di una discussione sviluppata sul <a title="Vai al gruppo CakePHP" href="http://groups.google.com/group/cake-php/" target="_blank">Gruppo Google</a> di CakePHP inerente all&#8217;utilizzo di operatori SQL nelle operazioni di estrazione dati (finder query):<br />
<a title="Vai alla discussione" href="http://groups.google.com/group/cake-php/browse_thread/thread/89dd8a8846bad3a1?hl=en" target="_blank">http://groups.google.com/group/cake-php/browse_thread/thread/89dd8a8846bad3a1?hl=en</a></p>
<p>L&#8217;autore ha la necessità di estrarre da un campo di testo un numero limitato di caratteri utilizzando l&#8217;operatore SQL LEFT:</p>
<pre>LEFT(Table.field, len) as new_field_name</pre>
<p>La soluzione proposta (e testata) consiste nell&#8217;utilizzo dell&#8217;operatore direttamente nell&#8217;elenco dei campi da estrarre come parametro aggiuntivo dell&#8217;operazione <em>find()</em>.</p>
<pre>$list = $this-&gt;User-&gt;find( "all", array(
  fields = array(
    'id',
    'username',
    'left(User.username, 5) as short_username'
  )
));</pre>
<p>Questo comando di estrazione genera come output la seguente struttura associativa:</p>
<pre>array(
  0 =&gt; array(
    [User] =&gt; array(
      [id] =&gt; 1
      [username] = Marco Pegoraro
    )
    [0] =&gt; array(
      [short_username] =&gt; Marco
    )
  )
)</pre>
<p>Si può dunque notare come il campo ottenuto mediante operatore SQL sia stato erogato fuori dal raggruppamento del modello e inserito sotto ad un indice numerico.</p>
<p>Ho fatto alcuni test utilizzando le relazioni tra i modelli (belongsTo) e ho estratto campi da più modelli definendo campi <em>elaborati</em> da più modelli. Tali campi vengono sempre proposti sotto l&#8217;indice 0.</p>
<p>Al momento in cui scrivo la discussione è in attesa di una soluzione per modificare in modo esplicito il nome del raggruppamento di questi campi prodotto di un operatore SQL.</p>
<h2>Alcune risorse utili:</h2>
<ul>
<li><a href="http://groups.google.com/group/cake-php/browse_thread/thread/f823cc7f168cd619?hl=en" target="_blank">http://groups.google.com/group/cake-php/browse_thread/thread/f823cc7f168cd619?hl=en</a></li>
<li><a href="http://teknoid.wordpress.com/2008/09/29/dealing-with-calculated-fields-in-cakephps-find/" target="_blank">http://teknoid.wordpress.com/2008/09/29/dealing-with-calculated-fields-in-cakephps-find/</a></li>
<li><a href="http://i-love-cake.pastebin.com/f78d0639a" target="_blank">http://i-love-cake.pastebin.com/f78d0639a</a> (MySql Dbo variant)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.consulenza-web.com/2009/02/utilizzare-operatori-sql-in-cakephp-find/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
