Mysql Laravel6雄辩查询模型与$appends数据只有一个关系
我正在尝试为csv报告创建一个集合,该集合将包括一个“有一个”作业的报告,该作业包含多个可通过附录访问的数据列表项:Mysql Laravel6雄辩查询模型与$appends数据只有一个关系,mysql,laravel,eloquent,laravel-6,laravel-6.2,Mysql,Laravel,Eloquent,Laravel 6,Laravel 6.2,我正在尝试为csv报告创建一个集合,该集合将包括一个“有一个”作业的报告,该作业包含多个可通过附录访问的数据列表项: protected$appends=array('datalistitems')(在作业模型中) 此查询:Report::where('user\u id',$request->user\u id)->with('job')->get()返回报告及其作业,我可以在转储中看到附件。如何修改查询以在一个集合中包含作业数据和datalistitems数据 Illuminate\Data
protected$appends=array('datalistitems')代码>(在作业模型中)
此查询:Report::where('user\u id',$request->user\u id)->with('job')->get()代码>返回报告及其作业,我可以在转储中看到附件。如何修改查询以在一个集合中包含作业数据和datalistitems数据
Illuminate\Database\Eloquent\Collection {#572
#items: array:1 [
0 => App\Report {#571
#table: "reports"
#dates: array:1 [
0 => "reported_at"
]
#connection: "mysql"
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:7 [
"id" => 2
"description" => "Test"
"job_id" => 1
"user_id" => 15
"reported_at" => "2020-07-06 17:42:00"
"created_at" => "2020-07-06 17:43:36"
"updated_at" => "2020-07-06 17:43:36"
]
#original: array:7 [
"id" => 2
"description" => "Test"
"job_id" => 1
"user_id" => 15
"reported_at" => "2020-07-06 17:42:00"
"created_at" => "2020-07-06 17:43:36"
"updated_at" => "2020-07-06 17:43:36"
]
#changes: []
#casts: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: array:1 [
"job" => App\Job {#577
#appends: array:1 [
0 => "datalistitems"
]
#connection: "mysql"
#table: "user_jobs"
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:17 [
"id" => 1
"is_primary" => "no"
"venue_id" => null
"employment_status_id" => 33
"venue_type_id" => null
"user_id" => 15
"created_at" => "2020-07-06 17:40:22"
"updated_at" => "2020-07-06 17:40:22"
"instrument_id" => null
"employer_id" => 17
"position_id" => null
"department_id" => 22
"work_location_id" => 1
"project_id" => 2
"award_id" => null
"contract_type_id" => null
"contract_id" => null
]
#original: array:17 [
"id" => 1
"is_primary" => "no"
"venue_id" => null
"employment_status_id" => 33
"venue_type_id" => null
"user_id" => 15
"created_at" => "2020-07-06 17:40:22"
"updated_at" => "2020-07-06 17:40:22"
"instrument_id" => null
"employer_id" => 17
"position_id" => null
"department_id" => 22
"work_location_id" => 1
"project_id" => 2
"award_id" => null
"contract_type_id" => null
"contract_id" => null
]
#changes: []
#casts: []
#dates: []
#dateFormat: null
#dispatchesEvents: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#hidden: []
#visible: []
#fillable: []
#guarded: array:1 [
0 => "*"
]
}
]
#touches: []
+timestamps: true
#hidden: []
#visible: []
#fillable: []
#guarded: array:1 [
0 => "*"
]
}
]
}
datalistitems是如何填充的/与作业相关的?它实际上很难看,但是jobs表有很多id,比如场所id、就业状态id、场所类型id等。还有一个getDatalistitemsAttribute函数用于附录,它有一个巨大的列表,如果空白的id是真实的,将其推送到一个数组,然后返回DataListItem::其中('id',$data\u list\u item\u ids)->get()代码>。好的,看看我下面的答案是否足够。也许我还没有完全理解你的问题,访问变量是存在的。我想要的是如何修改这个查询:Report::where('user\u id',$request->user\u id)->with('job')->get()
以包含datalistitems。好的,即使您在作业模型上定义了附件,它也不会在序列化时加载dataitems?您是否尝试过在每个作业上循环并手动设置append?datalistitems是如何填充的/与作业相关的?它实际上非常难看,但作业表有许多id,例如场所id、就业状态id、场所类型id、,还有一个getDatalistitemsAttribute函数用于附录,它有一个巨大的列表,如果blank_id为truthy,则将其推送到一个数组,然后返回DataListItem::其中('id',$data_list_item_id)->get()代码>。好的,看看我下面的答案是否足够。也许我还没有完全理解你的问题,访问变量是存在的。我想要的是如何修改这个查询:Report::where('user\u id',$request->user\u id)->with('job')->get()
以包含datalistitems。好的,即使您在作业模型上定义了附件,它也不会在序列化时加载dataitems?您是否尝试过在每个作业上循环并手动设置append?