Выборка записей с одной таблицы по условию с друго
        Добрый день. Расширяю компонент modExtra и столкнулся с Поиском по таблицам, а именно поиск по второй таблице, а вывод информации с первой (двухтабличный запрос(или как-то так)). Сейчас поиск работает по одной таблице(ту которую мы смотрим) но по мимо этого в некоторых таблицах мне нужен поиск с другой таблицы.
Вот SQL запрос который поидее должен выводить такой поиск
Но не могу понять как его внедрить в php код. Сейчас работает однотабличный поиск таким образом
    
    
                                                                                
            Вот SQL запрос который поидее должен выводить такой поиск
SELECT * 
FROM  `modx_driverlicense_licenses` 
WHERE  `names` = (  SELECT  `id` 
                                 FROM  `modx_driverlicense_notface` 
                                 WHERE  `modx_driverlicense_notface`.`name` LIKE  '%Коломи%' )Но не могу понять как его внедрить в php код. Сейчас работает однотабличный поиск таким образом
public function prepareQueryBeforeCount(xPDOQuery $c) {
        $query = $this->getProperty('query');
        if (!empty($query)) {
            $c->andCondition(array(
                'number:LIKE' => '%'.$query.'%'
            ));
        }
        return $c;
    }Как его «усовершенствовать» до двухтабличного запроса?    Комментарии: 5
                Легким движением руки брюки превращаются…
                    public function prepareQueryBeforeCount(xPDOQuery $c) {
	$query = $this->getProperty('query');
	if (!empty($query)) {
		// Нужно вставить название своего объекта второй таблицы
		$q = $modx->newQuery('YourClassObject');
		$q->select('id');
		$q->where(array('name:LIKE' => '%'.$query.'%'));
		$ids = array();
		while($row = $q->fetch(PDO::FETCH_ASSOC)) {
			$ids[] = $row['id'];
		}		
		if (!empty($ids)) {
			$c->where(array(
				'name:IN' => $ids
			));
		}
	}
	return $c;
}            
                ем…
                    Call to a member function newQuery() on a non-object inвставил $q = $modx->newQuery('DriverLicenseNotface');            
                Ну да, нужно так
                    $q = $this->modx->newQuery('DriverLicenseNotface');            
                Ну и… 
П.С. Ребята, вы когда просите помощи, обратную связь не выключайте. Реагируйте как-то.
Ведь желание помогать обратно пропорционально вашей вежливости.
                    П.С. Ребята, вы когда просите помощи, обратную связь не выключайте. Реагируйте как-то.
Ведь желание помогать обратно пропорционально вашей вежливости.
                Согласен на все 100%
вот код самого класса
                    вот код самого класса
class DriverLicenseLicensesGetListProcessor extends modObjectGetListProcessor {
	public $objectType = 'DriverLicenseLicenses';
	public $classKey = 'DriverLicenseLicenses';
	public $defaultSortField = 'id';
	public $defaultSortDirection = 'DESC';
	
	
	public function prepareQueryBeforeCount(xPDOQuery $c) {
        $query = $this->getProperty('query');
        
        $c->where(array(
            'deleted' => 0,
            ));
        
        if (!empty($query)) {
            /*$c->andCondition(array(
                'number:LIKE' => '%'.$query.'%',
                'names:OR' => "SELECT  'id' 
                                 FROM  `modx_driverlicense_notface` 
                                 WHERE  `modx_driverlicense_notface`.`name` LIKE  '%".$query."%'"
            ));*/
            // Нужно вставить название своего объекта второй таблицы
    		$q = $this->$modx->newQuery('DriverLicenseNotface');
    		$q->select('id');
    		$q->where(array('name:LIKE' => '%'.$query.'%'));
    		$ids = array();
    		while($row = $q->fetch(PDO::FETCH_ASSOC)) {
    			$ids[] = $row['id'];
    		}		
    		if (!empty($ids)) {
    			$c->where(array(
    				'name:IN' => $ids
    			));
    		}
        }
        return $c;
    }
	
	
}Cannot access empty property in  line 28            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.