Php 数据库查询生成器使用关系
我有一对多的关系。组织与预订。在预订表外键组织id.组织表外键用户id.用户表我有列名|公司|账户|电话|号 组织表 控制器查询 我想要的是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
在对象内部而不是组织\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',
....])