doulan9188 2017-09-23 09:55
浏览 41
已采纳

Laravel无法将userId传递给模型查询

I have two tables one a master table for providers and another a mapping table for provider-user which has mapping ID with additional fields which are user specific.

I get values in return if I have the below code.

return $mobileProviders=Provider::whereHas('providerUser', function ($query) {
           $query->where('user_id',1);
      })->where('provider_type',1)->get();

Now I pass Auth $userId it does not returns any value When I return $userId I get 1 which is same as the above but I could not get the result.

$userId=Auth::user()->id;
return $mobileProviders=Provider::whereHas('providerUser', function ($query) {
           $query->where('user_id',$userId);
      })->where('provider_type',1)->get();
  • 写回答

1条回答 默认 最新

  • douyu0792 2017-09-23 09:58
    关注

    Just add a use ($userId) after function ($query). like below:

    $userId=Auth::user()->id;
    
    return $mobileProviders = Provider::whereHas('providerUser', function ($query) use ($userId) {
               $query->where('user_id',$userId);
          })->where('provider_type',1)->get();
    

    This will pass the variable to closure.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行