Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Php 数据库查询生成器使用关系_Php_Mysql_Database_Laravel_Foreign Keys - Fatal编程技术网

Php 数据库查询生成器使用关系

Php 数据库查询生成器使用关系,php,mysql,database,laravel,foreign-keys,Php,Mysql,Database,Laravel,Foreign Keys,我有一对多的关系。组织与预订。在预订表外键组织id.组织表外键用户id.用户表我有列名|公司|账户|电话|号 组织表 控制器查询 我想要的是 在对象内部而不是组织\u id我需要oranization.user.name、organization.user.account。。。使用关系??如何实现这一点您可以尝试加入这3个表 试一试 良好的实践是,应该将表名放在每一列之前,比如user.name而不是name only。 希望能有帮助 使用适当的联接条件将组织表联接到查询中$bookings=D

我有一对多的关系。组织与预订。在预订表外键组织id.组织表外键用户id.用户表我有列名|公司|账户|电话|号

组织表 控制器查询 我想要的是
在对象内部而不是组织\u id我需要oranization.user.name、organization.user.account。。。使用关系??如何实现这一点

您可以尝试加入这3个表 试一试

良好的实践是,应该将表名放在每一列之前,比如user.name而不是name only。
希望能有帮助

使用适当的联接条件将
组织
表联接到查询中<代码>$bookings=DB::table('bookings')->join('organization','organization.id','=','bookings.organization_id')->选择(…。别忘了更改分组表达式。bookings->organizations->users,你能编辑我所有的代码吗!!
id|user_id|....
$bookings = DB::table('bookings')
                    ->select([
                        'organization_id', 
                        DB::raw('CAST(created_at AS DATE) as day'),
                        DB::raw("SUM(CASE WHEN payment_gateway = 'LocalBook' THEN 1 ELSE 0 END) AS bookings_localbook_per_day"),
                        DB::raw("SUM(CASE WHEN payment_gateway = 'LocalBook' THEN commision_i_get ELSE 0 END) AS commision_localbook_per_day"),
                        DB::raw("SUM(CASE WHEN payment_gateway = 'selfBook' THEN 1 ELSE 0 END) AS bookings_selfbook_per_day"),
                        DB::raw("SUM(CASE WHEN payment_gateway = 'selfBook' THEN commision_i_get ELSE 0 END) AS commision_selfbook_per_day"),

                        DB::raw("SUM(CASE WHEN payment_gateway = 'paypal' THEN 1 ELSE 0 END) AS bookings_international_per_day"),
                        DB::raw("SUM(CASE WHEN payment_gateway = 'paypal' THEN commision_i_get ELSE 0 END) AS commision_international_per_day"),
                        DB::raw('SUM(commision_i_get) AS total_comission_per_day'),
                    ])
                    ->where('pay', '>', 0)
                    ->groupBy(['organization_id', DB::raw('CAST(created_at AS DATE)')])
                    ->get()
                    ->toArray();
DB::table('bookings')
    ->join('organizations','organizations.id','=','bookings.organization_id')
    ->join('user','user.id','=','organizations.user_id')
    ->select([
                       'user.account',
                       'user.name',
                        ....])