Laravel 从模型中提取自定义方法

Atn*_*ize 5 php laravel

我正在使用 Laravel 5.6。我有一个usersfirstnamelastname字段。

在我的User模型中,我也有这个功能

public function name()
{
    return $this->firstname . ' ' . $this->lastname;
}
Run Code Online (Sandbox Code Playgroud)

现在在另一个控制器中,我想为所有用户创建一个下拉菜单。但我想显示name()而不仅仅是名字/姓氏。

我目前正在使用这个

$users = \App\User::pluck('lastname', 'id');
return view('myview', compact('MY_collection' , 'users'));
Run Code Online (Sandbox Code Playgroud)

在我看来(使用集体/html

{!! Form::select('user', $users, isset($user) ? $MY_collection->user: null,  ['class' => 'form-control']) !!}        
Run Code Online (Sandbox Code Playgroud)

是否可以将 pluck 与方法功能一起使用?还是我应该做点别的?

我也知道访问器解决方案,但我name在数据库中没有属性,所以它不起作用。

Dig*_*ter 3

访问器可以是您选择的任何名称,它们只需以以下形式开头get和结尾Attribute

public function getNameAttribute() {
    return $this->firstname . ' ' . $this->lastname;
}

$user->name

// this will give the result as above
public function getBlahBlahBlahAttribute() {
    return $this->firstname . ' ' . $this->lastname;
}

$user->blah_blah_blah
Run Code Online (Sandbox Code Playgroud)

其中任何一个都需要勇气。

User::get()->pluck('name');

$user->setAppends(['name']);
$user->pluck('name');
Run Code Online (Sandbox Code Playgroud)