konto usunięte
Temat: HABTM i wyszukiwanie - ciężki orzech ...
Mam problem, z którym nie mogę sobie poradzić.Mam dwie główne tabele users i clients połączone poprzez tabelę clients_users.
Poglądowy schemat tabel:
Users
id
...
Clients
id
...
Clients_users
client_id
user_id
...
Opis tabel w plikach modelu:
class Client extends AppModel {
var $name = 'Client';
var $hasAndBelongsToMany = array(
'User' => array('className' => 'User',
'joinTable' => 'clients_users',
'foreignKey' => 'client_id',
'associationForeignKey' => 'user_id',
'with' => 'ClientsUser',
'unique' => true
)
);
class User extends AppModel {
var $name = 'User';
var $hasAndBelongsToMany = array(
'Client' => array('className' => 'Client',
'joinTable' => 'clients_users',
'foreignKey' => 'client_id',
'associationForeignKey' => 'user_id',
'with' => 'ClientsUser',
'unique' => true
)
);
Problem:
Teraz chcę w kontrolerze clients pobrać klientów konkretnego usera.
Poniższy kod z niewiadomych mi przyczyn usuwa relację pomiędzy clients i users i mam błąd: Unknown column 'User.id' in 'where clause'
$this->set('data', $this->Client->find('all', array('conditions'=>array('User.id'=>1))));
Jeśli jednak nie daję warunku to ładnie pokazuje mi dane z wszystkich tabel:
$this->set('data', $this->Client->find('all'));
Próbowałem już kombinować na wiele sposobów ale dalej nie chce działać.