0

I has a HABTM models Request HABTM Certificates

When I do $this->Request->find('all) I get this array:

(int) 0 => array(
    'Request' => array(
        'id' => '114',
        'motivo' => 'Licitação',
        'status' => false,
        'solicitante' => ''
    ),
    'Certificate' => array(
        (int) 0 => array(
            'id' => '1',
            'nome' => '545.15',
            'responsavel' => '123',
            'email' => 'eu@vc.com',
            'emailcc' => '',
            'CertificatesRequest' => array(
                'id' => '53',
                'request_id' => '114',
                'certificate_id' => '1'
            )
        ),
        (int) 1 => array(
            'id' => '3',
            'nome' => 'Certidao',
            'responsavel' => '10',
            'email' => 'eu@vc.com',
            'emailcc' => '',
            'CertificatesRequest' => array(
                'id' => '54',
                'request_id' => '114',
                'certificate_id' => '3'
            )
        )....

I need to get a list of Certificates.nome corresponding a certain Request.id.

I'm trying this, without sucess:

   $arquivos = $this->Request->find('list', array('conditions' => array('id' => 114),
    'contain' => array('Certificate' => array('fields' => array('nome')))));

How I get a list of Certificates.nome corresponding a certain Request.id.

Igor Martins
  • 2,015
  • 7
  • 36
  • 57

2 Answers2

0

try this:

 $arquivos = $this->Request->Certificate->find('list', array(
                'conditions' => array('Request.id' => 114),
                'fields' => array('Certificate.id', 'Certificate.nome')
               ));
Ayo Akinyemi
  • 792
  • 4
  • 7
0
  1. Create a model CertificatesRequest (belongsTo Request, Certificate).
  2. Query CertificatesRequest->find('all', array('contain'=>array('Certificates'), 'conditions'=>array('CertificatesRequest.request_id'=>$request_id))