отображение выпадающего списка select в предложении where, но получение ошибочных данных - PullRequest
0 голосов
/ 09 января 2020

у меня 3 таблицы. это имя aduan, ipsrs, teknisi

структура aduan table

id 
user_id
ipsrs_id
teknisi_id
aduan
etc.....

таблица ipsrs

id
nama_bagian
etc....

таблица teknisi

id
ipsrs_id
nama_teknisi
etc...

это есть модели, подобные этой

class Aduan extends Model {


use SoftDeletes;

protected $table = 'aduan';
protected $fillable = [
    'user_id', 'ipsrs_id','nama_pengadu', 'aduan','teknisi_id'
];

protected $dates = ['deleted_at'];

public function users()
{
    return $this->belongsTo(\App\Models\User::class ,'user_id');
    // return $this->HasMany(\App\User::class ,'user_id');
}


public function ipsrs()
{
    return $this->belongsTo(\App\Models\Ipsrs::class ,'ipsrs_id');
    // return $this->HasMany(\App\User::class ,'user_id');
}

public function teknisi()
{
    return $this->belongsTo(\App\Models\Teknisi::class ,'teknisi_id');
    // return $this->HasMany(\App\User::class ,'user_id');
}

Teknisi Model

class Teknisi extends Model {
protected $table = 'teknisi';
protected $fillable = [
    'ipsrs_id', 'nama_teknisi', 'bagian',
];


public function ipsrs()
{
    return $this->belongsTo(\App\Models\Ipsrs::class ,'ipsrs_id');
    // return $this->HasMany(\App\User::class ,'user_id');
}}

с этой таблицей. Я хочу создать выпадающий список для выбора модальной модели. я создаю выпадающий список, используя pluck, эти данные отображаются, но не так, как мне нужно. его в контроллере

 public function index(Request $request)
{
    $ipsrs = DB::table('ipsrs')->pluck('nama_bagian','id');

    $belum_kerjakan = Aduan::with('users')->where('status','Belum Dikerjakan')->get();
    $teknisi        = Teknisi::pluck('nama_teknisi', 'id')->where('ipsrs_id' , $request->ipsrs_id); // this is to get pluck teknisi where this id ( ipsrs_id on **teknisi**) same like ipsrs_id on aduan ( if you see this table ,you will see this ipsrs_id in two table , but its didnt work and **show all data**)  
    $dalam_proses   = Aduan::with('users')->where('status','Sedang Dikerjakan')->get();
    $selesai        = Aduan::with('users')->where('status','Selesai')->get();
    return view('admin.admin_dashboard',[
        'belum_dikerjakan' => $belum_kerjakan,
        'dalam_proses'     => $dalam_proses,
        'selesai'          => $selesai,
        'ipsrs'            => $ipsrs,
        'teknisi'          => $teknisi,
    ]);

}

в моем заключении, как я могу получить эти данные срыва в предложении where как это? (на адуане)

1 Ответ

0 голосов
/ 09 января 2020

Pluck вспомогательный метод используется для извлечения данных из данного массива / объекта результатов, чтобы не фильтровать. Поэтому добавьте фильтр where перед его извлечением.

$teknisi = Teknisi::select('nama_teknisi', 'id')->where('ipsrs_id', $request->ipsrs_id)->pluck('nama_teknisi', 'id'); 
...