使用 laravel 从数据库中获取单个值

get a single value from the database using laravel

我总是使用这个丑陋的代码从数据库中获取给定 id 的单个值

例如这里我想获取网站的访问次数

// ============================================ 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'];
}

是否有另一种方法可以在给定 where 语句的情况下从数据库中获取特定列的单个值?

这个怎么样?

$website = Website::where('name', $website_name)->first(['number_of_visit']);
return $website->number_of_visit;

甚至更好:

$visits = Website::where('name', $website_name)->pluck('number_of_visit');

万一你想知道...

pluck() 实际上和我的第一个代码示例一样。这是来源:

public function pluck($column)
{
    $result = $this->first(array($column));

    if ($result) return $result->{$column};
}