2017-06-16 69 views
1

我有业务和位置表,他们有一对一的关系。一切工作正常,但他们的问题是我只找到1结果。laravel一对一检索许多结果

但是,位置表中外键的business_id有大量结果。

我的业务表5-95有ID,这些都是我要回

所以在我的位置表我也business_id这是从5-95的记录。

我该如何说服雄辩来检索这些特定记录?

在这一刻,我有:

function transportProfile() { 
    $type = 2; 
    $business = Business::where('type', $type)->get(); 
    $location = Business::find(3)->locations; 
    echo $location; 
    return view('userProfile', compact('business', 'location')); 
} 

所以要澄清的业务表有ID从5-95和位置表已经从5-95 business_id我想从这些2个表返回结果,这样我就可以使用它在视图

回答

1

使用eager loading

$businesses = Business::where('type', $type)->with('location')->get(); 

要显示数据:

@foreach ($businesses as $business) 
    {{ $business->location->name }} 
@endforeach 
+0

嗨!你是一个*,我正在寻找这样的东西,我从来没有发现任何东西,所以在位置表我想输出slu and和商业名称,你可以做到这一点? –

+0

@PrzemekWojtas你可以做'{{$ business-> location-> slug}}'。另外,请尝试执行'{{dd($ business)}}'这将显示所有数据及其结构,以便您了解如何使用它。 –

+0

@foreach($ business as $ business_name) @endforeach –