Reputation: 617
i always use this ugly code to get a single value from the database for a given id
for example here i want to get the number of visits for a website
// ============================================ getNumberOfVisits()
//
// website_name : ..
// return the number of visits for a given website
//
private function getNumberOfVisits($website_name)
{
$visits = Website::where('name', $website_name)->get(['number_of_visit']);
return $visits[0]['attributes']['number_of_visit'];
}
is there another way to get a single value from the database for a particular column given a where statement?
Upvotes: 1
Views: 122
Reputation: 152860
How about this?
$website = Website::where('name', $website_name)->first(['number_of_visit']);
return $website->number_of_visit;
Or even better:
$visits = Website::where('name', $website_name)->pluck('number_of_visit');
pluck()
actually does the same as my first code example. Here's the source:
public function pluck($column)
{
$result = $this->first(array($column));
if ($result) return $result->{$column};
}
Upvotes: 3