[英]mysql query to laravel query
我已經嘗試了幾個小時才能使這個小的查詢工作,但是我似乎無法使其工作。 基本上,我正在嘗試從查詢結果中進行一次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());
但是似乎whereIn不能正確地從選擇中獲取數組,並且什么也沒有給出。
查詢構建器不支持子查詢。
將其分為兩個查詢。 這樣的事情。 (另)
$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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.