Placeholders must have a trailing [] if they are to be expanded with an array of values
That issue got resolved. It was regarding passing array in to the db. Added serialise function resloved the issue.

$query-&gt;values([
$ob-&gt;machine_name,
$ob-&gt;name,
serialize($ob-&gt;settings),
]);
$query-&gt;execute();