Nasıl CakePHP'de bir Açılır için HABTM ilgili kayıtların ('liste') bulabilirim?

1 Cevap php

Ben habtm ilişkisi ile bir liste (açılan) oluşturmak istiyorum. Örneğin ben "kullanıcılar" Başka bir sözde "araçlar" ve "users_vehicles" adında bir tablo var.

Ne istiyorum "x" kullanıcıya atanan araç almak ve bir drop-down koymaktır. Bunu nasıl başarabiliriz?


class User extends AppModel {

   var $hasAndBelongsToMany = array('Vehicle');
}

1 Cevap

Bu tek yol, orada muhtemelen birkaç diğerleri değildir.

$result = $this->User->Vehicle->find('all', array(
    'recursive' => -1,
    'conditions' => array('Ownership.user_id' => 66),
    'fields' => array('Vehicle.*','Ownership.*'),
    'joins' => array(
    	array(
    		'table' => 'users_vehicles',
    		'alias' => 'Ownership',
    		'type' => 'LEFT',
    		'foreignKey' => false,
    		'conditions'=> 'Vehicle.id = Ownership.vehicle_id'
    	)
    )
));
$list = Set::combine($result,'{n}.Vehicle.id','{n}.Vehicle.name');