簡體   English   中英

mysql查詢到laravel查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM