Запрос, в котором значения столбцов равны - PullRequest
0 голосов
/ 05 июля 2019

У меня следующий запрос:

$drivers = TableRegistry::getTableLocator()->get('Drivers');
$driver = $drivers->find()->where(['user_id' => $userId])->first();
return $drivers->find()->where(['user_id' => $userId])
    ->contain([
        'Users',
        'Championships' => [
            'Races' => [
                'Results' => [
                    'strategy' => 'select',
                    'queryBuilder' => function (Query $query) use ($driver) {
                        return $query->where(['driver_id' => $driver->id]);
                    }
                ]
            ]
        ]
    ])
    ->first();

Я хочу знать, возможно ли их объединить. Я думал, что это будет возможно:

$drivers = TableRegistry::getTableLocator()->get('Drivers');
return $drivers->find()->where(['user_id' => $userId])
    ->contain([
        'Users',
        'Championships' => [
            'Races' => [
                'Results' => [
                    'strategy' => 'select',
                    'queryBuilder' => function (Query $query) {
                        return $query->where(['driver_id' => 'Drivers.id']);
                    }
                ]
            ]
        ]
    ])
    ->first();

Однако выдает ошибку Column not found: 1054 Unknown column 'Drivers.id' in 'where clause'.

Можно ли объединить и как бы я это сделал?

...