Вопрос о результатах Pluck в Laravel 5.7 - PullRequest
0 голосов
/ 08 декабря 2018

У меня вопрос по методу pluck в Laravel.Как я могу получить следующий результат в списке?

Name + Lastname + id

Я использую эту команду строки в контроллере

Строка: $choferes

public function index()
{
    $asignaciones = Asignacion::orderBy('id', 'ASC')->get();
    $choferes = Chofer::orderBy('id', 'ASC')->pluck('nombre', 'id');
    $dueños = Dueño::orderBy('id', 'ASC')->pluck('nombre', 'id');
    $asignaciones->each(function ($asignaciones)
    {
        $asignaciones->chofer;
        $asignaciones->dueno;
    });

    return view('admin.asignaciones.index')
        ->with('asignaciones', $asignaciones)
        ->with('choferes', $choferes)
        ->with('dueños', $dueños);
}

Результат в списке:

1 => "name 1"
2 => "name 2"

Однако мне нужно объединить: name и lastname.Это должен быть список.Как я могу отобразить его в моем представлении?

<div class="col-xs-6">
    {!! Form::label('chofer_id','Lista de Choferes') !!}
    {!! Form::select('chofer_id[]', $choferes, null,
        ['class'=>'form-control select_chofer',
        'multiple',
        'required','id'=>'list_chofer']) !!}
</div>

У меня есть такой результат:

результат

Спасибо!

1 Ответ

0 голосов
/ 12 декабря 2018

В вашей Chofer модели определите

public funcion getFullNameAttribute()
{
    return $this->attributes['first_name'] + ' ' + $this->attributes['last_name'];
}  

В контроллере используйте это

$choferes = Chofer::orderBy('id', 'ASC')->get(['id`, ...])->pluck('full_name', 'id');
...