Select single column from a row in Laravel?
laravel, laravel-4
Solution
To fetch a single value from the first result, you can use `\Illuminate\Database\Query\Builder::value`. e.g.
$lastInvoice = DB::table('booking_groups')
->where('company_id','=',$booking->company_id)
->orderBy('invoice_number','desc')
->value('invoice_number');
Problem
How can I fetch a single column from a single row in Laravel 4? Here's what I'm trying: ``` return DB::selectOne(" SELECT EXISTS( SELECT * FROM permissions p JOIN role_permissions rp ON rp.permission_id=p.id JOIN user_roles ur ON ur.role_id=rp.role_id WHERE ur.user_id=? AND p.code=? ) ",[Auth::user()->id,$perm_code]); ``` `selectOne` returns this ugly object though: ``` object(stdClass)#297 (1) { ["EXISTS( SELECT * FROM permissions p JOIN role_permissions rp ON rp.permission_id=p.id JOIN user_roles ur ON ur.role_id=rp.role_id WHERE ur.user_id=? AND p.code=? "]=> string(1) "0" } ``` Is there something better? Using PDO is ugly too: ``` $stmt = DB::getPdo()->prepare(" SELECT EXISTS( SELECT * FROM permissions p JOIN role_permissions rp ON rp.permission_id=p.id JOIN user_roles ur ON ur.role_id=rp.role_id WHERE ur.user_id=? AND p.code=? ) "); $stmt->execute([Auth::user()->id,$perm_code]); return (bool)$stmt->fetchColumn(); ```