Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql查询到laravel查询_Php_Mysql_Laravel - Fatal编程技术网

Php mysql查询到laravel查询

Php mysql查询到laravel查询,php,mysql,laravel,Php,Mysql,Laravel,我已经试了几个小时来让这个小查询工作,但我似乎无法使它工作。 基本上,我正在尝试根据查询结果进行foreach 这是我希望在原始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')

我已经试了几个小时来让这个小查询工作,但我似乎无法使它工作。 基本上,我正在尝试根据查询结果进行foreach

这是我希望在原始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());

但是,似乎where没有正确地从select中获取数组,并且没有返回任何内容。

查询生成器不支持子查询

将其分解为两个查询。像这样的。未经测试

$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();