<?php
$results = DB::select('
SELECT DISTINCT
*
FROM
rooms
LEFT JOIN bookings
ON rooms.id = bookings.room_type_id
AND ( bookings.arrival between ? and ?
OR bookings.departure between ? and ? )
WHERE
bookings.room_type_id IS NULL
LIMIT 20',
array('2012-05-01', '2012-05-10', '2012-05-01', '2012-05-10')
);
$results = DB::table('rooms')
->distinct()
->leftJoin('bookings', function ($join) {
$join->on('rooms.id', '=', 'bookings.room_type_id');
})
->whereBetween('arrival', array('2012-05-01', '2012-05-10'))
->whereBetween('departure', array('2012-05-01', '2012-05-10'))
->where('bookings.room_type_id', '=', null)
->get();
select distinct * from `room_type_info`
left join `bookings`
on `room_type_info`.`id` = `bookings`.`room_type_id`
where `arrival` between ? and ?
and `departure` between ? and ?
and `bookings`.`room_type_id` is null
如何使用Laravel的查询构建器构建相同的查询(如果可能的话)是使用Eloquent更好,还是应该使用DB::Select?
$results = DB::table('rooms')
->distinct()
->leftJoin('bookings', function($join)
{
$join->on('rooms.id', '=', 'bookings.room_type_id');
$join->on('arrival','>=',DB::raw("'2012-05-01'"));
$join->on('arrival','<=',DB::raw("'2012-05-10'"));
$join->on('departure','>=',DB::raw("'2012-05-01'"));
$join->on('departure','<=',DB::raw("'2012-05-10'"));
})
->where('bookings.room_type_id', '=', NULL)
->get();
不太确定between子句是否可以添加到Laravel中的join中。
备注:
db::raw()
指示Laravel不要放回引号。on()
将添加和
条件,而oron()
将添加或
条件。我有一个名为的实体,另一个名为。 这就是它们之间的关系: 这是“我的存储库”实体中的查询,用于恢复具有一点Comptage属性的Computer: 问题是我很好地恢复了所选点comptage的computer,但只恢复了具有参数确定关系的computer。 在我的数据库中,有可能竞争对手没有参数化的梅苏尔数据。 我如何恢复没有参数的计算机程序和具有参数的计算机程序(在同一个queryBuilder
有可能在QueryDSL中执行以下查询吗? 库存余额存储每个零件号/月/年的库存数据;我只需要当前年份和月份的数据。 我已经得到了基本的左连接: 这就产生了正确的sql,但只是在零件号上连接。 检查生成的零件的库存可用性(除其他外)。左连接是必要的,因为我仍然需要没有库存条目的部件(例如新部件)。Left join将获取没有匹配库存余额的行,但在查询的where子句中添加等将删除没有库存余额的行号
我一直在理解Laravel查询生成器和纯SQL之间的融合。 我有2张桌子: user:包含具有主键的用户 User_Action:这是一个表,其中包含由和动作的组成的PRIMARYs记录。 ex: 使用者 用户操作 我的需要: 现在我想检索一个用户列表,其中包含每个用户的最新操作。因此,我只需要在从到的连接中获取一行,并且这一行必须是具有最新日期时间的一行。我的前任也是如此;我只想获取dateti
问题内容: 我有两个通过1:1关系连接的实体,例如: 我想创建一个Doctrine查询,在其中我可以根据中某个列的值检索数据。像这样的东西(当然不起作用): 任何帮助将非常感激 :) 问题答案: 左连接在这里也没有意义(因为where子句将使它像内部连接一样工作)
如何在Hibernate中为下面给定的查询编写criteria builder api查询?batchId不是主键 从用户中选择批号('1','3') 我尝试过: 除了数据库中存在的数据外,我什么也得不到。
subcompany.hbm.xml 子单位表 branch.java 指定表 我需要帮助编写条件查询使用提供的SQL。