Laravel 修改/添加/重命名eloquent集合
比如说,我从以下几家公司获得了令人信服的收藏回报:Laravel 修改/添加/重命名eloquent集合,laravel,eloquent,Laravel,Eloquent,比如说,我从以下几家公司获得了令人信服的收藏回报: $b=Book::get()(列:id、书名、页码) $m=Magazine::get()(列、id、杂志名称、类型) 那么,我如何: 将它们合并到同一个集合中 将->book\u name/mag\u name重命名为k 添加类型,如果书本使用“null”作为值 添加->hash(str::random) 我想保留该系列,以便能够利用它带来的好处。即,不将其转换为数组 Laravel 7您可以使用集合合并方法来完成它 $b = Book::
$b=Book::get()代码>(列:id、书名、页码)
$m=Magazine::get()代码>(列、id、杂志名称、类型)
那么,我如何:
将它们合并到同一个集合中
将->book\u name/mag\u name
重命名为k
添加类型
,如果书本使用“null”作为值
添加->hash
(str::random)
我想保留该系列,以便能够利用它带来的好处。即,不将其转换为数组
Laravel 7您可以使用集合合并方法来完成它
$b = Book::get(['id','book_name as k','pages']);
$m = Magazine::get(['id','mag_name as k','type']);
$bb = $b->map(function ($book){
$book['type'] = null;
$book['hash'] = Str::random();
return $book;
});
$mm = $m->map(function ($magzine){
$magzine['hash'] = Str::random();
return $magzine;
});
$merged = $bb->merge($mm);
return $merged;
假设我们有以下集合:
$b = Book::get(); //(columns: id, book_name, pages)
$m = Magazine::get(); //(columns, id, mag_name, type)
$result = $books->merge(magazines);
其次,更新字段:
$books = $b->map(function ($book) => {
return [
'id' => $book->id,
'k' => $book->book_name,
'type' => null,
'hash' => Str::random()
];
});
$magazines = $b->map(function ($magazine) => {
return [
'id' => $magazine->id,
'k' => $magazine->mag_name,
'type' => $magazine->type,
'hash' => Str::random()
];
});
第三,合并集合:
$b = Book::get(); //(columns: id, book_name, pages)
$m = Magazine::get(); //(columns, id, mag_name, type)
$result = $books->merge(magazines);
将结果作为toArray
获取,然后merge\u array
没有帮助??