为了账号安全,请及时绑定邮箱和手机立即绑定

将变量传递给 ->each() 函数使变量始终 = 0 php

将变量传递给 ->each() 函数使变量始终 = 0 php

PHP
慕容708150 2022-10-14 10:30:05
我在 laravel 中为我的 API 制定的路线之一要求我将变量传递给->each()函数。这可以在下面看到:public function by_location($zone_id){    $zone = Zone::where('id', $zone_id)->get()[0];    error_log($zone->id);    $exhibitors = Exhibitor::where('zone_id', $zone_id)->get();    $exhibitors->each(function($exhibitor, $zone)    {        error_log($zone->id);        $exhibitor['zone_info'] = $zone;    });    return response()->json($exhibitors);}第一个error_log输出'2',但第二个我得到'试图获取非对象的属性'id'。任何帮助表示赞赏!
查看完整描述

1 回答

?
森林海

TA贡献2011条经验 获得超2个赞

您可能希望$zone在第一行使用从数据库中选择的内容。此外,如果您想更改您正在迭代的项目的值,您必须使用->map()而不是->each()

我将 ->get()[0] 更改为 ->first()。永远不要使用 ->get()[0]

public function by_location($zone_id)

{

    $zone = Zone::where('id', $zone_id)->first();

    error_log($zone->id);

    $exhibitors = Exhibitor::where('zone_id', $zone_id)->get();

    $exhibitors->map(function($exhibitor) use ($zone){

        error_log($zone->id);

        $exhibitor['zone_info'] = $zone;

        return $exhibitor;

    });


    return response()->json($exhibitors);

}


查看完整回答
反对 回复 2022-10-14
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号