Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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
Laravel 基于相关表中字段的雄辩Get模型_Laravel_Laravel 5_Eloquent - Fatal编程技术网

Laravel 基于相关表中字段的雄辩Get模型

Laravel 基于相关表中字段的雄辩Get模型,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,我有多个与我的用户模型相关的模型(例如:配置文件、地址、订单等) 我想根据每个相关表中的update_at字段,获取过去24小时内更新的所有用户 如果您有一个相关的表,我会发现以下情况,但在我的情况下,我有3个以上的表需要检查: $users = User::with('orders') ->where('updated_at', $valueA) ->whereHas('orders', function($query)

我有多个与我的用户模型相关的模型(例如:配置文件、地址、订单等)

我想根据每个相关表中的update_at字段,获取过去24小时内更新的所有用户

如果您有一个相关的表,我会发现以下情况,但在我的情况下,我有3个以上的表需要检查:

$users = User::with('orders')
            ->where('updated_at', $valueA)
            ->whereHas('orders', function($query)
                {
                    $query->where('updated_at', $valueB);
                })->get();
我希望有人能帮助我了解如何将此应用于多个相关表上的多个where子句n=。

尝试以下代码

$users = User::with(['profiles', 'addresses', 'orders'])
        ->whereDate('updated_at','>', $yesterdayDate)
        ->orWhereHas('orders', function($query) use ($yesterdayDate){
             $query->whereDate('updated_at','>', $yesterdayDate);
        })->orWhereHas('addresses', function($query) use ($yesterdayDate) {
             $query->where('updated_at','>', $yesterdayDate);
        })->orWhereHas('profiles', function($query) use ($yesterdayDate){
             $query->where('updated_at','>', $yesterdayDate);
        })->get();

如果用户与所有模型(如订单、配置文件、地址等)有直接关系,则可以尝试此方法

         $valueA = $time // whatever time you want
         $users = User::
         where('updated_at', $valueA)
        ->whereHas('orders', function($query) use ($valueA)
            {
                $query->where('updated_at', $valueA);
            })
          with('orders')
          ->whereHas('profiles', function($query) use ($valueA)
            {
                $query->where('updated_at', $valueA);
            })
          with('profiles')
         ->whereHas('addresses', function($query) use ($valueA)
            {
                $query->where('updated_at', $valueA);
            })
          with('addresses')
          ->get();
多谢各位