This is the weirdest mistake I've ever seen in my life, I don't know how to explain it, but it's happening.
When returning a list of models from the controller:
public function index()
{
return MyModel::orderBy('name')->get();
}
I'm getting the following feedback in the browser: 
Now if I switch to:
public function index()
{
return MyModel::orderBy('name')->get()->toArray();
}
I get the following feedback in the browser:
After trying to find a solution so that I don't need to call the toArray() function, I found that by overriding the jsonSerialize() method as in the example below, in the MyModel class, it correctly converts the cost_id to a number.
public function jsonSerialize()
{
return parent::jsonSerialize();
}
If I put the field as string in the $casts, it works, but converts the numbers to string.
My Model:
My backend:
- PHP 5.6.40
- Laravel 5.4
- Database is DBMaker
via Chebli Mohamed


Aucun commentaire:
Enregistrer un commentaire