hulkur/laravel-hasmany-keyby
最新稳定版本:8.0
Composer 安装命令:
composer require hulkur/laravel-hasmany-keyby
包简介
Add possibility to have related models in many-to-many relationship attached to the parent model by defined key values.
README 文档
README
Adds possibility to have related models in many-to-many relationship attached to the parent model by defined key values.
Usually it would be related model id.
call:
$users = User::with('groups')->all()
laravel default:
$user->groups = [0 => $group];
New usage with keyBy:
class User extends Model { use HasManyKeyByRelationship; public function groups() { return $this->hasMany(Group::class)->keyBy('id'); // can be string or callable } }
result:
$user->groups = [$group->id => $group];
Some real life use cases
-
When you need to target order items by product id to apply order discounts.
- Ex: discount for specific product on order total/shipping method etc
-
When you need to manipulate pivot records in mass.
- Ex: users/groups grid where grid fields are some value in pivot record and not all pivot records exist
@foreach($users as $user) @foreach($groups as $group) {{$user->accesslevels[$group->id]?->level}} @endforeach @endforeach
统计信息
- 总下载量: 81.43k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-04-04