web-dev-qa-db-fra.com

Trier par champ dans cakephp

Je fais du projet dans cakephp.

Je veux écrire la requête ci-dessous dans le style cakephp. J'ai écrit 50%. Aidez-moi, s'il vous plaît

$ this-> Login-> find ('all')

SELECT * FROM login  
ORDER BY FIELD(profile_type, 'Basic', 'Premium') DESC;
18
Rinto George

Veuillez essayer ceci

$this->Login->find('all', array(
 'order'=>array('FIELD(Login.profile_type, "basic", "premium") DESC')
));
22
benji

Vous pouvez passer des options à la méthode find :

$this->Login->find('all', array(
  'order' => "FIELD(Login.profile_type, 'Basic', 'Premium') DESC"
));
4
mensch

Veuillez essayer ceci:

$response = $this->Login->find('all', array('order'=>array('Login.profile_type'=>'desc')));
2

Celui-ci est un moyen plus facile de commander et de limiter cela fonctionne bien

$this->set('users', 
    $this->User->find('all', 
        array(
            'limit' => 3,
            'order' => 'User.created DESC',
            'recursive' => 1,
       )
   )
);
2
A.A Noman