laravel - 从 Laravel 中的 WITH Eloquent 中提取值
问题描述
我有一个下拉框,仅显示具有收藏家和借款人角色的用户。这是我的代码
public function create()
{
$users = User::whereHas('roles', function ($q) {
$q->where('roles.name', '=', 'collector')->orWhere('roles.name', '=', 'borrower');
})
->with('profile')
->get()
->pluck('name','id');
return view('dashboard.documents.create', compact('users'));
}
这段代码很好,但我要采摘的是'profile'中的first_name,last_name和user_id列。我怎样才能做到这一点?
非常感谢您!
解决方案
你做其中之一
$users = User::whereHas('roles', function ($q) {
$q->where('roles.name', '=', 'collector')->orWhere('roles.name', '=', 'borrower');})
->with('profile')
->select('name','id')
->get();
或者
$users = User::whereHas('roles', function ($q) {
$q->where('roles.name', '=', 'collector')->orWhere('roles.name', '=', 'borrower');})
->with('profile')
->get(['name','id']);
两种方式都将返回一个collection
带有相关模型的每个模型记录将具有选定的列,如果要将其转换为数组,可以->toArray()
在两种方式之后添加,它将集合转换为数组。
推荐阅读
- jquery - jQuery – 如何在滚动时定位类的特定实例
- node.js - Swift View 在一定时间后停止更新数据
- angular - Debugging Angular TFS extension
- openssl - OpenSSL/KeyTool - 如何从密钥库获取客户端 crt
- android - 如何在 Flutter 中配置应用内购买
- bash - 按空格分割字符串,循环结果按破折号分割
- spring - 在 Kotlin 中找不到使用 QuerydslBinderCustomizer 的类型的属性自定义
- go - 如何从同一函数返回未知数据类型?(哥朗)
- scala - 有没有办法从 JAR 中提取 SCALA 源代码?
- vue.js - 使用vuejs输入为空时如何禁用按钮?