Q:

Temporarily remove joins while using find (cakePHP)

I'm trying to remove the joins during a single find(). All I want is to retrieve the user's subscriptions and not all the tables/fields that they are related to them.
I have tried 
$subscriptions = $this->User->find('first', 
    array(
        'fields'     => array('User.subscriptions'),
        'join'       => array(''),
        'conditions' => 
            array(
                'User.id'=> $userID
            )
));

If kept with the joins, it could potentially be a performance issue in the future.

A:

try to add a recursive value of -1:
$subscriptions = $this->User->find('first', array(
    'fields' => array('User.subscriptions'),
    'join' => array(''),
    'conditions' => array(
        'User.id' => $userID
    ),
    'recursive' => -1
));

A -1 recursive value will make the query retrieve only the fields from User tables without any joins.

A:

You should use the containable behavior.
In your User model (or the AppModel) add this:
var $actsAs = array('Containable');

And then, on your controller:
$this->User->contain();
$subscriptions = $this->User->find('first', array(
    'fields' => array('User.subscriptions'),
    'conditions' => array(
        'User.id' => $userID
    ),
));

The CakePHP book has more documentation  http://book.cakephp.org/view/1323/Containable

