i am using laravel 5.1 and want to retrieve a single row in the database then manipulate it after.
my current code is
$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; }
why cant i do it like this?
$profiles = Profile::where('user_id', $this->user->user_id) ->where('profile_code', $this->user->profile_code) ->get(); $data['address'] = $profiles->address;
am i using a wrong function or something? thanks in advance.
Advertisement
Answer
Try this:
$data['address'] = $profiles[0]->address;
When you are using get()
, it returns an array of Std class object.
In addition to retrieving all of the records for a given table, you may also retrieve single records using first
. Instead of returning a collection of models, these methods return a single model instance:
// Retrieve the first model matching the query constraints... $flight = AppFlight::where('active', 1)->first();