How can I allow mass assignment of a json field with wildcards instead of directly defining all the keys in the Fillable array?
I know that I can set nested json data if I use the fillable field, where 1, 2 = the order id. However, it's not practical to assign every single nested json dynamic value in the fillable array.
// This works for the exact nested values set.
// Model
class Book {
protected $fillable = [
'related',
'related->order'
'related->order->1',
'related->order->2',
]
}
// Some update file elsewhere
$orderID = 1;
$book->update([
"related->order->$orderID" => $orderID
]);
However, wildcard values like
// Model
protected $fillable = [
'related',
'related->order'
'related->order->*'
]
// Update file
$orderID = 5;
// Fails, nothing gets updated. The field, 'related->order->5` remains the same in the db json
$book->update([
"related->order->$orderID" => $orderID
]);
Was this even possible besides using forceFill?
ie
// Model, nothing fillable set
// Update code
$orderID = 5;
// Works now
$book->forceFill([
"related->order->$orderID" => $orderID
]);
$book->save();
I need this as setting a dynamic order $key->val update will override existingrelated->order values when I just want to append them.