Laravel 5.2:如何在控制器中获取Model属性



如何在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 />";
        }
    }
}

最新更新