I guess your Code::getList('abc') is returning null on your L5.1 copy, and as a result you are concatenating null with array.
Edit: Try make getList() return an empty array instead?
awsp, thanks for the suggestion, but my getList() is not returning null. It is returning all expected data.
As you can see from my example code above, the second snippet works fine (without the appended content)
In other words, if I use only the Code::getList('abc'), I do not get the error and I see all the expected select options. The error happens only when the ['' => '- select a value -'] + is present. Again, this line works perfectly fine on Laravel 5.0. It only fails in 5.1. Same exact code.
Update: I found this on LaravelCollective/html at Github: https://github.com/LaravelCollective/html/issues/60
Seems like it may be broken right now. Any suggestions?
Try ['' => 'something'] + Code::getList('abc').toArray().
The problem is that you can't "sum up" arrays with Collections (anymore?). I've solved it in the past by simply appending .toArray() to the Collection in the Form builder element.
JorisDebonnet, Thank you for the suggestion. I tried appending .toArray() within the form builder element as you mentioned, but this did not resolve the issue. I still get the same error.
In any case, that's where the problem is: the error says that you can't use the operand + for the expressions you're using it for. Perhaps try debugging it preparing the array on beforehand (before sending it to the template) and trying to var_dump the result of that .toArray() call. Perhaps it gives null or something, if the query failed.
You are getting that php fetal error because you are trying to add 2 different types. It could be null or other types such as integer , class,etc
Maybe you should double check the data type your getCode() is returning.
As you have said it's working on previous version that was why I suspect it was some potential bug you were not aware during L5
Best of luck!
After going crazy trying to figure this out, I found the solution. It was a dumb mistake on my part and a very simple fix. I was using ['' => 'something'] + Code::getList('abc').toArray() as suggested by JorisDebonnet when I should have been using ['' => 'something'] + Code::getList('abc')->toArray()
Thanks to all for your suggestions!
Sign in to participate in this thread!
We'd like to thank these amazing companies for supporting us