如何获取表格数据

时间:2019-07-14 15:53:47

标签: laravel

我想在我的选择下拉列表中显示姓名

我有3个表:'users','users_pro'和'practice'

  

用户:id,名称,dob等。

     

users_pro :id,user_id等。

     

实践:id,user_pro_id,...等

我想将数据输入到表'practice'中,我想使用 users_pro users 这样的用户进行选择下拉列表:

public function input_practice()
{
    $data= Users_pro::with('users')->get()->pluck('id','user_id');

    dd($data);
    // return view('admin.input.input_riwayat_kgb',
    // [
    // 'data'=>$data,


    // ]);
}

如果我dd($ data),我得到:

    Collection {#327 ▼
  #items: array:4 [▼
    6 => 3 // 6 is user_id ,and 3 is 'id' on users_pro , i need to show 'name' like 3 => 'jhon'
    13 => 4
    12 => 5
    14 => 6
  ]
}

但是我想在我的选择下拉列表中显示用户名。有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

您试图提取一个集合,然后从其中的关系模型中获取名称和ID。因此,您会收到一个错误,指出该属性在 collection 上不存在,因为它有许多 User_pro 对象,然后尝试从每个关系中获取用户数据需要循环。

假设您在 User_pro 模型上建立了users关系,则可以得到如下所示的下拉列表:

 $data= User::whereHas('user_pro')->pluck('name','id');

这为您提供了一个用户集合(碰巧是专业用户),然后选择{em> nameid个用户供您在下拉菜单中使用。

答案 1 :(得分:-1)

此行可解决此问题:

$data = Users_pro::with('users')->get()->pluck('users.nama', 'id');