Okay I found the issue: I have call toArray()
on the blocks
site()->createChild([
'slug' => 'blocks-test',
'template' => 'blocks-test',
'content' => ['text' => $blocks->toArray()]
])->publish();
I found the solution here: Create custom blocks programmatically - #12 by texnixe. But in this case it was a custom block that didn’t get saved, but table
is a built-in block.
Would be great if this behavior could be fixed because now it is really inconsistent. Maybe the page update/create methods could call toArray()
by default if a Blocks instance is passed?