Yeah, Eloquent does adds the timestamps but the QueryBuilder does not. Simply because Eloquent allows you to prevent updates on those columns in case you want to insert old data, or want to make an update without touching the timestamps.
And yes, createMany does per notification insert as you said.
There are couple of ways to consider.
- Update your database timestamp columns to this maybe:
$table->timestamp('created_at')->default(\DB::raw('CURRENT_TIMESTAMP'));
..
now using the insert will set the timestamps.