繁体   English   中英

Laravel-从数据库检索时获取空数据集

[英]Laravel - Getting empty dataset when retrieving from DB

我正在尝试填充选择下拉列表,但没有看到值通过。

控制器:

public function create()
{
    $employees = Employee::get();

    $am = DB::table('employees')
        ->where('department', 'Account Manager')
        ->select('id', 'name')
        ->orderBy('name', 'asc')
        ->get();

    $pm = DB::table('employees')
        ->where('department', 'Project Manager')
        ->select('id', 'name')
        ->orderBy('name', 'asc')
        ->get();

    $employees->am = $am;
    $employees->pm = $pm;

    return view('projects/create', [
        'employees' => $employees
        ]);
}

视图:

<div class="form-group">
                  <label>Account Manager</label>
                  <select class="form-control" name="am">
                    <option value=""></option>
                    @foreach ($employees as $employee)
                      <option value="{{ $employee->am['id'] }}">{{ $employee->am['name'] }}</option>
                    @endforeach
                  </select>
                </div>
                <div class="form-group">
                  <label>Project Manager</label>
                  <select class="form-control" name="pm">
                    <option value=""></option>
                    @foreach ($employees as $employee)
                      <option value="{{ $employee->pm['id'] }}">{{ $employee->pm['name'] }}</option>
                    @endforeach
                  </select>
                </div>

所以,我知道有些事情在起作用,因为下拉列表显示数据库中有5个空格,它们是记录数,但它们都是空白。 进行var_dump显示为NULL。 另外,它没有考虑WHERE子句,因为两个下拉菜单均显示5个空格,而不是项目经理3个,客户经理2个。

我的模型没有任何关系。 一定要吗? 因为我为不同的视图进行了连接,所以效果很好。

我的数据库表如下所示:

项目:

id
name
am_id
pm_id

雇员:

id
name
department

有任何想法如何在下拉列表中填充值吗?

你尝试过这个吗?

$employeeAm = Employee::where('department', 'Account Manager')
        ->select('id', 'name')
        ->orderBy('name', 'asc')
        ->get();
$employeePm = Employee::where('department', 'Project Manager')
        ->select('id', 'name')
        ->orderBy('name', 'asc')
        ->get();

然后将其传递到您的视图$ employeeAm和$ employeePm然后

@foreach ($employeePm as $employee)
     <option value="{{ $employee->id }}">{{ $employee->name }}</option>
@endforeach

与您的$employeeAm相同

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM