Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用雄辩的ORM从laravel中的3个表中选择数据_Laravel_Orm_Eloquent - Fatal编程技术网

使用雄辩的ORM从laravel中的3个表中选择数据

使用雄辩的ORM从laravel中的3个表中选择数据,laravel,orm,eloquent,Laravel,Orm,Eloquent,我对拉拉维尔不熟悉,一直坚持使用雄辩的ORM获取数据 我的场景是我有3张桌子 用户-包含用户信息 位置-包含位置信息 location_user-包含用户id、位置id、用户访问该位置的时间 现在,一个用户可以多次访问一个位置,并且一个位置可以被多个用户访问 我想获取用户在特定日期访问的所有位置名称 但无法得到 下面是数据库结构 位置\u用户表-id用户\u id位置\u id访问时间 位置表-id经纬度位置 用户表-id名称电话电子邮件 在用户模型中,我定义了关系 public functio

我对拉拉维尔不熟悉,一直坚持使用雄辩的ORM获取数据

我的场景是我有3张桌子

  • 用户-包含用户信息
  • 位置-包含位置信息
  • location_user-包含用户id、位置id、用户访问该位置的时间
  • 现在,一个用户可以多次访问一个位置,并且一个位置可以被多个用户访问

    我想获取用户在特定日期访问的所有位置名称

    但无法得到

    下面是数据库结构

    位置\u用户表-id用户\u id位置\u id访问时间

    位置表-id经纬度位置

    用户表-id名称电话电子邮件

    在用户模型中,我定义了关系

    public function locations()
    {
    return $this->belongsToMany('Location')->withPivot('visitedtime');
    }
    
    当我在控制器中使用此功能时,我将获得该用户访问的所有位置

    User::find(2)->locations()->select('locations.locality',locations.id')->get()
    

    如何在上述函数的visitedtime上设置条件

    Hi Jarek,thnx以获得解决方案。我可以从结果中排除透视数据吗。
    User::find(2)
         ->locations()
         ->select('locations.locality',locations.id')
         ->where('pivot_visitedtime', $someDate)
         // or
         // ->where('location_user.visitedtime', $someDate)
         ->get()
    
    // and for $someDate you can use Carbon bc it's stupid-simple, eg.:
    $someDate = Carbon::parse('yesterday');