如何在Laravel中访问控制器中的模型属性?
在我的用户模型中,我有一个数组:
protected $sortable = [
'first_name',
'last_name',
'email',
];
然后,在我的UserController中,我有:
namespace AppHttpControllers;
...
use AppUser;
class UserController extends Controller
{
public function index()
{
// here I'd like to get the $sortable array
}
}
感谢
在您的索引函数中,您可以通过访问它
$this->sortable
要做到这一点,您必须将属性访问权限更改为public:
public $sortable = [
'first_name',
'last_name',
'email',
];
如果你坚持protected
的可访问性,你可以在你的模型中创建一个getter函数。
如果我很理解你,那就不知道了,但如果你在数据库中有名字、姓氏和电子邮件,你可以这样得到它们:
$user = User::all();
如果没有,就创建它:
$user=new User();
用户模型
public $sortable = [
'first_name',
'last_name',
'email'
];
用户控制器控制器
namespace AppHttpControllers;
...
use AppUser;
class UserController extends Controller
{
public function index()
{
/* user object */
$user = new User();
foreach ( $user->sortable as $item )
{
echo "{$item} <br />";
}
}
}