I have the following in my root route:
$user = User::all();
return $user->column-one;
Which returns the exception Use of undefined constant one - assumed 'one' even though I do have a column called column-one
from my users table. So how do I get column-one
from my model?
After digging through the source code for the eloquent model I found the magic method
__get
and learned that it was just a wrapper for the public functiongetAttribute
which takes a string thus I'm now able to retrieve the column via$user->getAttribute('column-one');
.Edit:
See @Alexandre Butynski's comment below for a better solution than the one I used.
I haven't tried this, but am curious if using camelCase for it would work. That's how it works for things like routes. For example:
$user->columnOne
.I would however recommend renaming that column. That really doesn't map well in a PHP app.
Update - Try this:
$user->{"column-one"}