📅  最后修改于: 2023-12-03 15:08:32.219000             🧑  作者: Mango
在 Laravel 中,Eloquent ORM 提供了一些方便的方法来合并两个记录。下面让我们看看几种常用的方法。
merge
方法可以将两个记录合并为一个集合。
$record1 = Book::where('id', 1)->first();
$record2 = Book::where('id', 2)->first();
$merged = $record1->merge($record2);
dd($merged);
这将返回一个集合,包含了 $record1
和 $record2
的所有字段,以及它们的值。
如果你要将两个记录合并成一个新的记录,并把它们的值组合在一起,可以使用 fill
方法。
$record1 = Book::where('id', 1)->first();
$record2 = Book::where('id', 2)->first();
$mergedRecord = new Book;
$mergedRecord->fill($record1->toArray() + $record2->toArray());
dd($mergedRecord);
这将返回一个新的 $mergedRecord
,它包含了 $record1
和 $record2
的所有字段,以及它们的值。
我们还可以直接将两个记录的数组合并成一个新的数组,并使用该数组创建一个新的记录。
$record1 = Book::where('id', 1)->first()->toArray();
$record2 = Book::where('id', 2)->first()->toArray();
$mergedRecord = new Book;
$mergedRecord->create($record1 + $record2);
dd($mergedRecord);
这将返回一个新的 $mergedRecord
,它包含了 $record1
和 $record2
的所有字段,以及它们的值。
总之,以上三种方法都可以用来合并两个 Laravel Eloquent 记录。你可以根据你的需求选择合适的方法。