簡體   English   中英

Illuminate\Database\Query\Builder::cleanBindings(): 參數 #1 ($bindings) 必須是數組類型

[英]Illuminate\Database\Query\Builder::cleanBindings(): Argument #1 ($bindings) must be of type array

**singers_id 是數組 ["2","4"] **

我的控制器

  $albums =  Album::join('tracks', 'albums.artist_id', '=', 'tracks.artist_id')
        ->where('albums.verified',1)->get();

我的刀片

   @php
                    
                    
                    $names = DB::table('singers')->whereIn('id', $album->singers_id)->pluck('singers_name')->toArray();
    
@endphp
{{implode(' & ', $names)}}
</a></span>

錯誤 -laravel Illuminate\Database\Query\Builder::cleanBindings(): Argument #1 ($bindings) must be of type array, string given in laravel

如何解決此錯誤

使用->whereIn()時,您的第二個參數必須是一個數組。 您當前正在傳遞字符串。 此外,在刀片文件中執行數據庫查詢也不是一個好習慣。

改變你的線路

 $names = DB::table('singers')->whereIn('id', $album->singers_id)->pluck('singers_name')->toArray();

 $names = DB::table('singers')->whereIn('id', [$album->singers_id])->pluck('singers_name')->toArray();

whereIn value 必須是array ,看起來像你把int代替

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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