我已经尝试了几个小时来使这个小查询工作,但我似乎无法使它工作。基本上,我试图从查询的结果中进行预测。
这是我在原始MYSQL中想要的查询:
SELECT id FROM albums WHERE id IN (SELECT album_id FROM user_albums WHERE user_id =".Auth::user()->id我尝试了以下几点:
$myAlbums = Album::whereIn('id', DB::table('user_albums')->where('user_id', Auth::user()->id)->select('album_id')->get());但是,似乎whereIn没有正确地从select中提取数组,也没有任何回报。
发布于 2014-11-14 14:27:14
查询生成器不支持子查询。
将其分解为两个查询。就像这样。(未经测试)
$albums = DB::table('user_albums')->where('user_id', Auth::user()->id)->get();
// collect the album ids
$albumIds = array();
foreach ($albums as $a) {
albumIds[] = $a->album_id;
}
$myAlbums = Album::whereIn('id', $albumIds)->get();https://stackoverflow.com/questions/26922725
复制相似问题