0
我有很多很多的关系,这里是我在做什么:laravel多对多检索数据
在URL我传递企业id,这将是在业务表:
@foreach ($business as $businesses)
<a target="_blank" href="{{ url('business/' . $businesses->id) }}"> {{($businesses->name) }}
</a> @endforeach
,则此函数RAN:
public function displayBusiness($id) {
$business = Business::find($id)->addresses;
//return $business;
//$address = Address::find($id);
$session = session()->put('key', $id);
$gallery = Gallery::where('business_id', $id)->get();
$location = Location::where('business_id', $id)->get();
$review = Review::where('business_id', $id)->get();
return view('displayBusiness', compact('business', 'address', 'gallery', 'location', 'review'));
}
但问题是,被注释掉,带回满足业务ID是不总是这样的结果行,因为有时企业ID = 1个地址ID = 4但这个代码将带回地址id = 1
所以我想要做的是看我的交界表,有business_id和address_id,并使用$ id找到business_id以及address_id匹配该id。
回报的业务给了我[]
所以,我想是这样的:
假设$ ID = 1 走进business_address并找到匹配1 business_id; 还发现ADDRESS_ID匹配business_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');
}