2017-02-14 15 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()を使用している、それはSTDクラスオブジェクトの配列を返します。

特定のテーブルのすべてのレコードを取得するだけでなく、firstを使用して1つのレコードを取得することもできます。これらのメソッドは、モデルのコレクションを返す代わりに、単一のモデルインスタンスを返します。

// 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

関連する問題