laravel多对多检索数据

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匹配的结果,但情况并非总

我有多对多的关系,下面是我正在做的:

在url中,我传递业务表中的业务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;