Ok. When I am upgrading my application from Laravel 5.0 to 5.1 I get an falat error that this showing “Unsupported operand types”
What did I do on Laravel 5.0:
I add two array with in + operator, and that is the problem. So, I looking for solution and get this on Laracast
$item_list = array(”=>’–Select–‘) + Model::lists(‘name’, ‘id’);
what do I do on Laravel 5.1
this is a quick fix: just add another function at the end of the line ( and just before of the ; ) ->toArray()
so, here is the updated code
$item_list = array(”=>’–Select–‘) + Model::lists(‘name’, ‘id’)->toArray();
Why this: the reason for this update.
In 5.1, in Colleciton.php, it uses this:
return new static(Arr::pluck($this->items, $value, $key));
instead of this:
return array_pluck($this->items, $value, $key);
which, in turn does this:
return (Arr::pluck($this->items, $value, $key));
So it looks like the new behavior is to return a collection vs an array, thus the need to specify the toArray()
credit: @scottlaurent