При запросе к базе данных с помощью следующего запроса:
Album::select('album.*')
->where(function ($query) use ($userId) {
$query
//->select('album.*') <- also tried this but didn't help
->join('accountuser_album', 'album.id', '=', 'accountuser_album.album_id')
->join('accountuser', 'accountuser_album.accountuser_id', '=', 'accountuser.id')
->where('accountuser.user_id', $userId);
})
->where(function ($query) use ($userId) {
//Otherqueries
})
->paginate($this->pageLimit, ['*'], 'page', $this->pageNumber);
Я получаю следующую ошибку:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'accountuser.user_id' in 'where clause' (SQL: select count(*) as aggregate from `album` where (`accountuser`.`user_id` = 2))
Удаление объединения из подзапроса, это работает, но это не работает для меня, потому что мне нужно несколько подзапросов с разными объединениями
Album::select('album.*')
->join('accountuser_album', 'album.id', '=', 'accountuser_album.album_id')
->join('accountuser', 'accountuser_album.accountuser_id', '=', 'accountuser.id')
->where(function ($query) use ($userId) {
$query->where('accountuser.user_id', $userId);
})
->where(function ($query) use ($userId) {
//Otherqueries
})
->paginate($this->pageLimit, ['*'], 'page', $this->pageNumber);
Я что-то здесь не так делаю?