Ваш $feed->id
должен быть в подзапросе, чтобы убедиться, что он находится в каждой возвращаемой строке.
DB::statement('INSERT INTO feed_media_permissions
(feed_id, optin_media_id)
VALUES
(SELECT '. $feed->id .' as feed_id, forig.optin_media_id AS optin_media_id
FROM feed_media_permissions as forig
WHERE forig.feed_id = ' . $existing_feed_id . ')
');
Вы также должны использовать привязки для предотвращения SQL-инъекций:
DB::statement('INSERT INTO feed_media_permissions
(feed_id, optin_media_id)
VALUES
(SELECT ? as feed_id, forig.optin_media_id AS optin_media_id
FROM feed_media_permissions as forig
WHERE forig.feed_id = ?)
', [$feed->id, $existing_feed_id]);