Reputation: 304
I'm trying to retrieve strings from my database using Laravel Eloquent queries. However, the data I get is in full caps. I want only the first letter to be in uppercase. Can anybody help me out?
$main = DB::table('master_accountsmain')->get()
I'm passing the main to my views using...
return view('home', 'main' => $main);
I have tried using ucfirst($main),
but it does not work. The data remains in uppercase.
Upvotes: 3
Views: 7004
Reputation: 983
ucfirst(strtolower($main[0]->property))
is what you want to do.
$main
is an array of objects because you're using ->get();
If you were fetching just one with ->first();
it would return an eloquent object and you would simply call ucfirst(strtolower($main->property))
If you have more than one result you could simply loop over or use fancy array functions builtin to php.
If it is an eloquent collection they have built in methods such as ->each()
that allow you to map an array.
Upvotes: 6
Reputation: 26
You can't ucfirst($array)
.
You need to get the element of $array
.
Like
$fname = ucfirst(strtolower($array->fname));
Upvotes: 1
Reputation: 4379
You will have to change it in lower case first with strtolower()
then your ucfirst
will work fine. Try it as below in order to make it works.
ucfirst(strtolower($main));
Upvotes: 1