最初の要素を複製して、配列に要素を追加しています。次に、最初の要素[0]の特定のプロパティのみを変更しますが、(何らかの理由で理解できませんが)変更された要素だけでなくすべての要素([1]など)のプロパティも変更されます。
コード:
$this->product->images[] = $this->product->images[0];
$file = uniqid().'.png';
$this->product->images[0]->file_url = 'images/magick/'.$file;
このコードは、最初の([0])要素のみを変更したい場合、$ this-> product-> images[1]->file_urlを'images/magick/'。$fileにも変更します。