laravel多对多检索数据
我有多对多的关系,下面是我正在做的: 在url中,我传递业务表中的业务id:laravel多对多检索数据,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,我有多对多的关系,下面是我正在做的: 在url中,我传递业务表中的业务id: @foreach ($business as $businesses) <a target="_blank" href="{{ url('business/' . $businesses->id) }}"> {{($businesses->name) }} </a> @endforeach 但问题是注释掉的行会返回与业务id匹配的结果,但情况并非总
@foreach ($business as $businesses)
<a target="_blank" href="{{ url('business/' . $businesses->id) }}"> {{($businesses->name) }}
</a> @endforeach
但问题是注释掉的行会返回与业务id匹配的结果,但情况并非总是如此,因为有时业务id=1,地址id=4,但此代码会返回地址id=1
所以我想做的是查看包含business_id和address_id的连接表,并使用$id查找business_id以及与该id匹配的address_id
退货业务给我[]
所以我想要的是这样的:
让我们假设$id=1
进入business_address并找到与1匹配的business_id;
还要查找与找到的业务id匹配的地址id,
将匹配的id带回业务表,并压缩匹配id的结果
地址表也一样
我的模型:
Address.php
public function businesses() {
return $this->belongsToMany(Business::class, 'business_address', 'business_id', 'address_id');
}
Business.php
public function addresses() {
return $this->belongsToMany(Address::class, 'business_address', 'address_id', 'business_id');
}
我猜每家公司都有很多地址
1.这将返回id为
$id
$business = Business::find($id);
二,。这将返回与该业务匹配的所有地址
$address = $business->addresses;
请注意,$address
将返回集合而不是单个对象如果有帮助,请告诉我
$address = $business->addresses;