如何在 Laravel 中将多个方法检索到“foreach”中?

问题描述

我试图从数据库中的 2 个表中检索数据,我使用 foreach 来解决它。但是,我首先使用的两种方法$karyawan,接下来是 $jabatans 我收到了这个错误

尝试读取 int 上的属性“Jabatan_kyn”

                <div class="form-group col-md-3">
                    <label class="details">Jabatan</label>
                    <div class="details">
                        <select class="form-control" id="jabatan" name="ID_jabatan">
                            <option selected disabled>Pilih Jabatan</option>
                            
                            @foreach ($jabatans as $jabatan) 
                                @foreach ($karyawan as $data)
                            {
                                <option value="{{$jabatan->ID_jabatan}}" {{$data->Jabatan_kyn ? 'selected' : '' }}>{{$jabatan->Jabatan_kyn}}</option>
                            }
                                @endforeach
                            @endforeach
                        </select>
                    </div>
                </div>

这是我的控制器

public function editKar($ID_kyn)
{
    if (!$this->KaryawanModel->karyawanfield($ID_kyn)){
        abort(404);
    }

    $data = [
        'karyawan' => $this->KaryawanModel->karyawanfield($ID_kyn),'jabatans' => $this->KaryawanModel->jabatanfield(),];
    return view('v_editkaryawan',$data);
}

这是我的模特

public function jabatanfield()
{
    return DB::table('tbl_jabatan')->get()->toArray();
}

public function karyawanfield($ID_kyn)
{
    return DB::table('tbl_karyawan')
                ->leftJoin('tbl_jabatan','tbl_jabatan.ID_jabatan','=','tbl_karyawan.ID_jabatan')
                ->where('ID_kyn',$ID_kyn)
                ->first();
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)