Bonjour,
Voila je rencontre un petit problème avec mon code. merci pour votre aide
Décrivez ici votre code ou ce que vous cherchez à faire
$note = $number->select($number->func()->avg('Ratings.value'))->where(['Ratings.foreign_key'=>$user['id']]);
debug($note);
directement le resultat la valeur de la note.
'(help)' => 'This is a Query object, to get the results execute or iterate it.',
'sql' => 'SELECT AVG( Ratings.value ) AS AVG(`Ratings__value`) FROM ratings Ratings WHERE Ratings.foreign_key = :c0',
'params' => [
':c0' => [
'value' => (int) 40,
'type' => 'integer',
'placeholder' => 'c0'
]
]
Bonsoir.
Il est normal que tu aies ce retour avec ce debug, étant donné que la requête SQL n'est pas encore exécutée.
Une requête SQL avec les conventions de CakePHP 3, doit ressembler à ceci :
$notes = $this->Notes->find()
// suite des déclarations de la requête ...
->all(); // c'est à ce moment là que la requête SQL est exécutée
j'avais déja fait ça sa me donne la même réponse
$this->loadModel("Ratings");
$note = $this->Ratings->find('all',[
'conditions'=>['Ratings.foreign_key'=>$user['id']],
'fields' =>['AVG( Ratings.value )']
]);
jai juste envis de calculer la moyenne (note du user)
object(Cake\ORM\Query) {
'(help)' => 'This is a Query object, to get the results execute or iterate it.',
'sql' => 'SELECT AVG( Ratings.value ) AS AVG(`Ratings__value`) FROM ratings Ratings WHERE Ratings.foreign_key = :c0',
'params' => [
':c0' => [
'value' => (int) 40,
'type' => 'integer',
'placeholder' => 'c0'
]
],
``