Maaf jika judul saya membingungkan Anda. Inilah masalah saya.

Di pengontrol saya

public function create()
{
    $users = User::whereHas('roles', function ($q) {
                $q->where('roles.name', '=', 'collector')->orWhere('roles.name', '=', 'borrower');
            })
            ->with('profile')
            ->get()
            // What I'm trying to achieve is something like this. 
            ->pluck('profile.first_name', '&&', 'profile.first_name','id');

    return view('dashboard.documents.create', compact('users'));
}

Apa yang saya coba capai adalah sesuatu seperti ini

->get()->pluck('profile.first_name', '&&', 'profile.first_name','id');

Bentuk di bilah

<div class="form-group {{ $errors->has('toUser') ? 'has-error' : ''}}">
    {!! Form::label('toUser', 'Select Borrower', ['class' => 'control-label']) !!}
    {!! Form::select('toUser', $users, null, ('required' == 'required') ? ['placeholder' => '-- Select user --','class' => 'form-control', 'required' => 'required','id'=>'toUser'] : ['class' => 'form-control','id'=>'toUser']) !!}
    {!! $errors->first('toUser', '<p class="help-block">:message</p>') !!}
</div>

Pada dasarnya saya ingin melihat di daftar dropdown nama lengkap pengguna yang ada di PROFILE fasih.

Apa cara yang tepat untuk menyelesaikan ini? seseorang mengatakan kepada saya untuk menggunakan Koleksi tetapi saya tidak tahu bagaimana menerapkannya dalam situasi saya saat ini?

Terima kasih banyak sebelumnya!

0
Lito 19 November 2020, 19:12

1 menjawab

Jawaban Terbaik

Dalam model profil Anda, tambahkan,

public function getFullNameAttribute()
{
    return "{$this->first_name} {$this->last_name}";
}

Lalu akses menggunakan

$users = User::whereHas('roles', function ($q) {
                $q->where('roles.name', '=', 'collector')->orWhere('roles.name', '=', 'borrower');
            })
            ->with('profile')
            ->get();
$profile_fullname = $users->profile->full_name;

Saya berasumsi hubungan hasone profil Anda dapat mengeditnya sesuai.

1
bhucho 20 November 2020, 07:25