Подрихтовать mysql запрос

23.09.2017

Доброго времени суток!
Помогите плз. справиться с запросом. Есть выборка, возвращающая id ноды, title, категорию(таксономия). Нужно "прицепить" выборку картинки(1 шт.) из ноды(код ниже).

$limit = 5;
$vid = 2;

$q = db_select('node', 'n')->comment(__FUNCTION__);
$ti = $q->innerJoin('taxonomy_index', 'ti', 'n.nid = ti.nid');
$td = $q->innerJoin('taxonomy_term_data', 'td', 'ti.tid = td.tid');
$results = $q->fields('n', array('nid', 'title'))
->fields($td, array('name'))
->condition('n.status', 1)
->condition('n.type', 'classified')
->condition("$td.vid", $vid)
->orderBy('n.created', 'DESC')
->orderBy('n.changed', 'DESC')
->orderBy('n.title', 'ASC')
->addTag('node_access')
->range(0, $limit)
->execute();

вот что получилось:

$q = db_select('node', 'n')->comment(__FUNCTION__);
$ti = $q->innerJoin('taxonomy_index', 'ti', 'n.nid = ti.nid');
$td = $q->innerJoin('taxonomy_term_data', 'td', 'ti.tid = td.tid');
$fp = $q->innerJoin('field_data_field_photo', 'dfp', 'n.nid = dfp.entity_id');
$ff = $q->innerJoin('file_managed', 'fm', 'dfp.field_photo_fid = fm.fid');
$results = $q->fields('n', array('nid', 'title'))
->fields($td, array('name'))
->fields($ff, array('uri'))
->condition('n.status', 1)
->condition('n.type', 'classified')
->condition("$td.vid", $vid)
->orderBy('n.created', 'DESC')
->orderBy('n.changed', 'DESC')
->orderBy('n.title', 'ASC')
->addTag('node_access')
->range(0, $limit)
->execute();

Выборка работает, но она делает выборку всех картинок из ноды, нужно одну.

PS Если поделитесь ссылкой на толковый мануал PDO, буду премного благодарен.
PSS http://www.php.net/manual/ru/book.pdo.php тут уже был))