[TYPO3-UG Italy] Utilizzare Funzioni MySQL in Extbase

Cristian Buja cristian at intera.it
Wed Jan 16 14:08:15 CET 2013


No non posso usare statement per fare questo, però l'idea della 
soluzione che volevo trovare è quella.


Cristian Buja - InteRa s.r.l.
www.intera.it

Il 16/01/2013 13:43, Cristian Buja ha scritto:
> Ciao Federico
>
>      Grazie per la risposta, in realta non posso rinunciare alla
> creazione delle query in astrazione per via la complessità delle
> struttura dati, ma mi hai dato uno spunto per cercare di fare qualcosa
> del tipo:
>
>      $query->matching($query->logicalAnd($constraints))->execute()
>
> dove $constraints e' un array di diversi 'constraint' generati con le
> funzioni standard.
>
> devo solo capire se è possibile bypassare uno di questi 'constraint'
> usando la funzione 'statement' che effettivamente non mi è molto chiara
> ma spero che possa funzionare con qualcosa del tipo:
>
>      $constraints[] =
>          $query->statement('ROUND(my_table.my_field, 2) > 100')
>
>
>
> Cristian Buja - InteRa s.r.l.
> www.intera.it
>
> Il 15/01/2013 18:16, Federico Bernardin ha scritto:
>> Ciao Cristian,
>> Extbase nelle chiamate al db si basa su un livello di astrazione (nel
>> futuro magari sarà doctrine) per cui tu puoi usare soltanto i
>> costrutti sql standard non specifici di un particolare db (nel caso
>> mysql).
>> Extbase però ti permette di creare un costrutto che bypassi la
>> creazione delle query in astrazione dal db e quindi puoi fare
>> direttamente la query.
>>
>> In pratica ti crei un metodo tuo del repository:
>>
>> public function getRound($value){
>>     $query = $this->createQuery();
>>     $query->statement('SELECT * FROM your_table
>>              WHERE ROUND(field, ?) > 100',
>>              array($value));
>>
>>     return $query->execute();
>> }
>>
>> Non l'ho provato ma dovrebbe funzionare.
>>
>> Ciao
>> Federico
>>
>> Il giorno 15/gen/2013, alle ore 15:25, Cristian Buja
>> <cristian at intera.it> ha scritto:
>>
>>> Salve a tutti,
>>> non riesco a trovare il modo di costruire una query in extbase con le
>>> funzioni di mysql, per esempio
>>>
>>>     ROUND(field, 2) > 100
>>>
>>> Qualche idea?
>>>
>>> Grazie.
>>>
>>>
>>> --
>>> Cristian Buja - InteRa s.r.l.
>>> www.intera.it
>>> _______________________________________________
>>> TYPO3-UG-Italy mailing list
>>> TYPO3-UG-Italy at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-italy
>>


More information about the TYPO3-UG-Italy mailing list