有人能帮我把这个查询转换成不同的格式吗?
$sessions = new Session();
$results = $sessions->where('session_status', $status)->where('application_period_id', (int) ApplicationPeriod::all()->last()->id)->get()->pluck('speaker_id');
$speakers = Speaker::whereIn('id', $results)
->with('session.audiancesession.audiances')
->with('session.subjectsession.subjects')
->with(['session' =>
function ($query) use($status) {
$query->where('session_status', '=', $status);
}])->orderBy('last_name')->get();
这是通过ajax(axios)请求的。。。结果的格式如下:
Obj->data(array of objects)->[0]->name
->address
->session(array of objects)
->[0]->time
->fee
我的问题是我的session参数是array,并且只能有(1),所以我不需要是array,我希望使用object(json)。
谢谢您!
1条答案
按热度按时间bvk5enib1#
如果您将客户端代码更改为使用会话数组(每个会话都有其说话人),您可能会获得更大的成功,这意味着您的原始查询
请注意中的顺序by->first
ApplicationPeriod
这样,您就不必获取从数据库到内存的所有应用程序周期。然后您的客户端应该处理一系列会话。
您可以使用将上述内容稍加变换,以获得与所需内容类似的结果:
虽然我不能保证结果在这里,因为我没有测试它对你的(复杂的外观)数据。