2017-02-14 56 views
0

我正在使用laravel 5.1並希望檢索數據庫中的單個行,然後對其進行處理。檢索LARAVEL使用雄辯中的單行

我當前的代碼是

$profiles = Profile::where('user_id', $this->user->user_id) 
->where('profile_code', $this->user->profile_code) 
->get(); 

foreach($profiles as $profile){ 
$data['address'] = $profile->address; 
} 

爲什麼不能我不喜歡這樣?

$profiles = Profile::where('user_id', $this->user->user_id) 
->where('profile_code', $this->user->profile_code) 
->get(); 

$data['address'] = $profiles->address; 

我使用錯誤的函數或什麼東西? 在此先感謝。

回答

1

試試這個:

$data['address'] = $profiles[0]->address; 

當您使用get(),它返回標準類對象的數組。

除了檢索給定表格的所有記錄外,您還可以使用first檢索單個記錄。這些方法不是返回一組模型,而是返回一個模型實例:

// Retrieve the first model matching the query constraints... 
$flight = App\Flight::where('active', 1)->first(); 
+0

所以沒有其他方法可以使用這種聲明? $ data ['address'] = $ profiles-> address; – mendz

+0

你必須使用foreach()循環,然後你可以像使用$ data ['address'] = $ profiles-> address; –

+0

好吧,我只是認爲有一個函數可以檢索數據庫中的單行,然後檢索數據,而不是每個使用。所以我仍然需要使用foreach,即使在檢索單行時也是如此。感謝男人 – mendz