Oussama Elgoumri
Oussama Elgoumri

Reputation: 617

get a single value from the database using laravel

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

Answers (1)

lukasgeiter
lukasgeiter

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');

In case you want to know...

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

Related Questions