我想在我的选择下拉列表中显示姓名
我有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
]
}
但是我想在我的选择下拉列表中显示用户名。有人可以帮我吗?
答案 0 :(得分:0)
您试图提取一个集合,然后从其中的关系模型中获取名称和ID。因此,您会收到一个错误,指出该属性在 collection 上不存在,因为它有许多 User_pro 对象,然后尝试从每个关系中获取用户数据需要循环。
假设您在 User_pro 模型上建立了users
关系,则可以得到如下所示的下拉列表:
$data= User::whereHas('user_pro')->pluck('name','id');
这为您提供了一个用户集合(碰巧是专业用户),然后选择{em> name
和id
个用户供您在下拉菜单中使用。
答案 1 :(得分:-1)
此行可解决此问题:
$data = Users_pro::with('users')->get()->pluck('users.nama', 'id');