混淆了 array 與 collection,join 並不支持 collection.laravel
$collection = collect([1, 2, 3]);
$collection->toArray();
若是 collection 中的 item 是 model,那麼git
全部的 eloquent 查詢返回都是一個 collection 實例,而不是 array。github
laravel tinker 中測試json
$a = collect([1, 2, 3])->all() >>> gettype($a) => "array" >>> $c = collect([1, 2, 3]) >>> gettype($c) => "object" >>> get_class($c) => "Illuminate\Support\Collection" >>> get_class($a) PHP Warning: get_class() expects parameter 1 to be object, array given on line 1
可見,gettype 能夠判斷是不是 array,可是 gettype 沒法直接得知具體的 object 對應的 class,須要調用 get_class。測試
https://github.com/tightenco/collectspa